Add files via upload
This commit is contained in:
parent
6469338265
commit
68304989ba
2 changed files with 342 additions and 0 deletions
40
go.mod
Normal file
40
go.mod
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
module Watson
|
||||
|
||||
go 1.20
|
||||
|
||||
require github.com/hugolgst/rich-go v0.0.0-20210925091458-d59fb695d9c0
|
||||
|
||||
require (
|
||||
fyne.io/systray v1.10.1-0.20230722100817-88df1e0ffa9a // indirect
|
||||
github.com/davecgh/go-spew v1.1.1 // indirect
|
||||
github.com/fredbi/uri v1.0.0 // indirect
|
||||
github.com/fsnotify/fsnotify v1.6.0 // indirect
|
||||
github.com/fyne-io/gl-js v0.0.0-20220119005834-d2da28d9ccfe // indirect
|
||||
github.com/fyne-io/glfw-js v0.0.0-20220120001248-ee7290d23504 // indirect
|
||||
github.com/fyne-io/image v0.0.0-20220602074514-4956b0afb3d2 // indirect
|
||||
github.com/go-gl/gl v0.0.0-20211210172815-726fda9656d6 // indirect
|
||||
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20221017161538-93cebf72946b // indirect
|
||||
github.com/go-text/render v0.0.0-20230619120952-35bccb6164b8 // indirect
|
||||
github.com/go-text/typesetting v0.0.0-20230616162802-9c17dd34aa4a // indirect
|
||||
github.com/godbus/dbus/v5 v5.1.0 // indirect
|
||||
github.com/gopherjs/gopherjs v1.17.2 // indirect
|
||||
github.com/jsummers/gobmp v0.0.0-20151104160322-e2ba15ffa76e // indirect
|
||||
github.com/pmezard/go-difflib v1.0.0 // indirect
|
||||
github.com/srwiley/oksvg v0.0.0-20221011165216-be6e8873101c // indirect
|
||||
github.com/srwiley/rasterx v0.0.0-20220730225603-2ab79fcdd4ef // indirect
|
||||
github.com/stretchr/testify v1.8.4 // indirect
|
||||
github.com/tevino/abool v1.2.0 // indirect
|
||||
github.com/yuin/goldmark v1.5.5 // indirect
|
||||
golang.org/x/image v0.11.0 // indirect
|
||||
golang.org/x/mobile v0.0.0-20230531173138-3c911d8e3eda // indirect
|
||||
golang.org/x/net v0.14.0 // indirect
|
||||
golang.org/x/sys v0.11.0 // indirect
|
||||
golang.org/x/text v0.12.0 // indirect
|
||||
gopkg.in/yaml.v3 v3.0.1 // indirect
|
||||
honnef.co/go/js/dom v0.0.0-20210725211120-f030747120f2 // indirect
|
||||
)
|
||||
|
||||
require (
|
||||
fyne.io/fyne/v2 v2.4.0
|
||||
gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce // indirect
|
||||
)
|
||||
302
main.go
Normal file
302
main.go
Normal file
|
|
@ -0,0 +1,302 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"fyne.io/fyne/v2"
|
||||
"fyne.io/fyne/v2/app"
|
||||
"fyne.io/fyne/v2/container"
|
||||
"fyne.io/fyne/v2/widget"
|
||||
"github.com/hugolgst/rich-go/client"
|
||||
|
||||
"fyne.io/fyne/v2/layout"
|
||||
)
|
||||
|
||||
func main() {
|
||||
|
||||
a := app.New()
|
||||
w := a.NewWindow("Watson")
|
||||
|
||||
//Reading things
|
||||
BookToRead := widget.NewEntry()
|
||||
BookToRead.PlaceHolder = "The Book Your are Reading"
|
||||
BookGenre := widget.NewEntry()
|
||||
BookGenre.PlaceHolder = "The Genre of your Book"
|
||||
LinkToBook := widget.NewEntry()
|
||||
LinkToBook.PlaceHolder = "The Link To The Book"
|
||||
|
||||
//Talking things
|
||||
TalkToWho := widget.NewEntry()
|
||||
TalkToWho.PlaceHolder = "Who Are you talking to?"
|
||||
|
||||
WhereTalk := widget.NewEntry()
|
||||
WhereTalk.PlaceHolder = "Link to a Discord Server you are Talking on"
|
||||
|
||||
//Browsing things
|
||||
|
||||
Site := widget.NewEntry()
|
||||
Site.PlaceHolder = "Name of the Site You are Browsing"
|
||||
|
||||
SiteURL := widget.NewEntry()
|
||||
SiteURL.PlaceHolder = "The Link To The Site"
|
||||
|
||||
//Streaming things
|
||||
|
||||
TitleOfStream := widget.NewEntry()
|
||||
TitleOfStream.PlaceHolder = "Title of your Stream"
|
||||
|
||||
StreamLink := widget.NewEntry()
|
||||
StreamLink.PlaceHolder = "Link To your Stream"
|
||||
|
||||
BrowsingPage := container.New(
|
||||
layout.NewVBoxLayout(),
|
||||
layout.NewSpacer(),
|
||||
Site,
|
||||
SiteURL,
|
||||
layout.NewSpacer(),
|
||||
)
|
||||
|
||||
TalkingPage := container.New(
|
||||
layout.NewVBoxLayout(),
|
||||
|
||||
layout.NewSpacer(),
|
||||
TalkToWho,
|
||||
WhereTalk,
|
||||
layout.NewSpacer(),
|
||||
)
|
||||
|
||||
ReadingPage := container.New(
|
||||
layout.NewVBoxLayout(),
|
||||
layout.NewSpacer(),
|
||||
|
||||
layout.NewSpacer(),
|
||||
BookToRead,
|
||||
BookGenre,
|
||||
LinkToBook,
|
||||
layout.NewSpacer(),
|
||||
)
|
||||
|
||||
StramingPage := container.New(
|
||||
layout.NewVBoxLayout(),
|
||||
layout.NewSpacer(),
|
||||
TitleOfStream,
|
||||
StreamLink,
|
||||
layout.NewSpacer(),
|
||||
)
|
||||
|
||||
HomePage := container.New(
|
||||
layout.NewVBoxLayout(),
|
||||
layout.NewSpacer(),
|
||||
widget.NewSelect([]string{"Talking", "Reading", "Streaming", "Browsing"}, func(value string) {
|
||||
switch value {
|
||||
|
||||
case "Reading":
|
||||
StartReading(BookToRead.Text, BookGenre.Text, LinkToBook.Text)
|
||||
|
||||
case "Talking":
|
||||
StartTalking(TalkToWho.Text, WhereTalk.Text)
|
||||
|
||||
case "Browsing":
|
||||
StartBrowsing(Site.Text, SiteURL.Text)
|
||||
|
||||
case "Streaming":
|
||||
StartStreaming(TitleOfStream.Text, StreamLink.Text)
|
||||
}
|
||||
|
||||
}),
|
||||
layout.NewSpacer(),
|
||||
)
|
||||
|
||||
tabs := container.NewAppTabs(
|
||||
container.NewTabItem("Home", HomePage),
|
||||
container.NewTabItem("Reading", ReadingPage),
|
||||
container.NewTabItem("Talking", TalkingPage),
|
||||
container.NewTabItem("Browsing", BrowsingPage),
|
||||
container.NewTabItem("Streaming", StramingPage),
|
||||
)
|
||||
|
||||
tabs.SetTabLocation(container.TabLocationLeading)
|
||||
|
||||
w.SetContent(tabs)
|
||||
|
||||
w.Resize(fyne.NewSize(1920/2, 1080/2))
|
||||
|
||||
w.ShowAndRun()
|
||||
|
||||
}
|
||||
|
||||
func StartReading(NameOfBook string, BookGenre string, LinkToBook string) {
|
||||
|
||||
if LinkToBook == "" {
|
||||
err := client.Login("1150554899541671996")
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
now := time.Now()
|
||||
err = client.SetActivity(client.Activity{
|
||||
State: "Reading",
|
||||
Details: "I'm currently Reading: " + NameOfBook,
|
||||
LargeImage: "book",
|
||||
LargeText: "Genre: " + BookGenre,
|
||||
|
||||
Timestamps: &client.Timestamps{
|
||||
Start: &now,
|
||||
},
|
||||
})
|
||||
} else {
|
||||
err := client.Login("1150554899541671996")
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
now := time.Now()
|
||||
err = client.SetActivity(client.Activity{
|
||||
State: "Reading",
|
||||
Details: "I'm currently Reading: " + NameOfBook,
|
||||
LargeImage: "book",
|
||||
LargeText: "Genre: " + BookGenre,
|
||||
|
||||
Timestamps: &client.Timestamps{
|
||||
Start: &now,
|
||||
},
|
||||
Buttons: []*client.Button{
|
||||
&client.Button{
|
||||
Label: "Link To Book",
|
||||
Url: LinkToBook,
|
||||
},
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func StartTalking(NameOfPartner string, DiscordLink string) {
|
||||
|
||||
if DiscordLink == "" {
|
||||
err := client.Login("1150554899541671996")
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
now := time.Now()
|
||||
err = client.SetActivity(client.Activity{
|
||||
State: "Talking",
|
||||
Details: "I'm talking with " + NameOfPartner,
|
||||
LargeImage: "talk",
|
||||
|
||||
Timestamps: &client.Timestamps{
|
||||
Start: &now,
|
||||
},
|
||||
})
|
||||
} else {
|
||||
err := client.Login("1150554899541671996")
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
now := time.Now()
|
||||
err = client.SetActivity(client.Activity{
|
||||
State: "Talking",
|
||||
Details: "I'm talking with " + NameOfPartner,
|
||||
LargeImage: "talk",
|
||||
|
||||
Timestamps: &client.Timestamps{
|
||||
Start: &now,
|
||||
},
|
||||
Buttons: []*client.Button{
|
||||
&client.Button{
|
||||
Label: "Link To Book",
|
||||
Url: DiscordLink,
|
||||
},
|
||||
},
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func StartBrowsing(Site string, SiteURL string) {
|
||||
if SiteURL == "" {
|
||||
err := client.Login("1150554899541671996")
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
now := time.Now()
|
||||
err = client.SetActivity(client.Activity{
|
||||
State: "Browsing",
|
||||
Details: "Currently on " + Site,
|
||||
LargeImage: "search",
|
||||
|
||||
Timestamps: &client.Timestamps{
|
||||
Start: &now,
|
||||
},
|
||||
})
|
||||
} else {
|
||||
err := client.Login("1150554899541671996")
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
now := time.Now()
|
||||
err = client.SetActivity(client.Activity{
|
||||
State: "Browsing",
|
||||
Details: "Currently on " + Site,
|
||||
LargeImage: "search",
|
||||
|
||||
Timestamps: &client.Timestamps{
|
||||
Start: &now,
|
||||
},
|
||||
Buttons: []*client.Button{
|
||||
&client.Button{
|
||||
Label: "Visit Site",
|
||||
Url: SiteURL,
|
||||
},
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func StartStreaming(Title string, URL string) {
|
||||
|
||||
if URL == "" {
|
||||
err := client.Login("1150554899541671996")
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
now := time.Now()
|
||||
err = client.SetActivity(client.Activity{
|
||||
State: "Hi Im Currently Streaming",
|
||||
Details: Title,
|
||||
LargeImage: "stream",
|
||||
|
||||
Timestamps: &client.Timestamps{
|
||||
Start: &now,
|
||||
},
|
||||
})
|
||||
} else {
|
||||
err := client.Login("1150554899541671996")
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
now := time.Now()
|
||||
err = client.SetActivity(client.Activity{
|
||||
State: "Hi Im Currently Streaming",
|
||||
Details: Title,
|
||||
LargeImage: "stream",
|
||||
|
||||
Timestamps: &client.Timestamps{
|
||||
Start: &now,
|
||||
},
|
||||
Buttons: []*client.Button{
|
||||
&client.Button{
|
||||
Label: "Watch my Stream",
|
||||
Url: URL,
|
||||
},
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue