本文整理匯總了Golang中github.com/bwmarrin/discordgo.Session.Open方法的典型用法代碼示例。如果您正苦於以下問題:Golang Session.Open方法的具體用法?Golang Session.Open怎麽用?Golang Session.Open使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/bwmarrin/discordgo.Session
的用法示例。
在下文中一共展示了Session.Open方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: ListenToDiscord
func ListenToDiscord(config *eqemuconfig.Config, disco *discord.Discord) (err error) {
var session *discordgo.Session
var guild *discordgo.Guild
//log.Println("Listen to discord..")
if session, err = disco.GetSession(); err != nil {
log.Printf("[Discord] Failed to get instance %s: %s (Make sure bot is part of server)", config.Discord.ServerID, err.Error())
return
}
if guild, err = session.Guild(config.Discord.ServerID); err != nil {
log.Printf("[Discord] Failed to get server %s: %s (Make sure bot is part of server)", config.Discord.ServerID, err.Error())
return
}
isNotAvail := true
if guild.Unavailable == &isNotAvail {
log.Printf("[Discord] Failed to get server %s: Server unavailable (Make sure bot is part of server, and has permission)", config.Discord.ServerID, err.Error())
return
}
session.StateEnabled = true
session.AddHandler(messageCreate)
log.Printf("[Discord] Connected\n")
if err = session.Open(); err != nil {
log.Printf("[Discord] Session closed: %s", err.Error())
return
}
select {}
return
}
示例2: doWsHandshake
func doWsHandshake(dg *discordgo.Session) error {
var err error
// open websocket...
err = dg.Open()
if err != nil {
log.Errorf("Problem opening WS: %s", err)
return err
}
err = dg.Handshake()
if err != nil {
log.Errorf("Problem handshaking WS: %s", err)
}
return err
}
示例3: main
func main() {
var err error
// Check for Username and Password CLI arguments.
if len(os.Args) != 3 {
fmt.Println("You must provide username and password as arguments. See below example.")
fmt.Println(os.Args[0], " [username] [password]")
return
}
// Create a new Discord Session interface and set a handler for the
// OnMessageCreate event that happens for every new message on any channel
dg := discordgo.Session{
OnMessageCreate: messageCreate,
}
// Login to the Discord server and store the authentication token
dg.Token, err = dg.Login(os.Args[1], os.Args[2])
if err != nil {
fmt.Println(err)
return
}
// Open websocket connection
err = dg.Open()
if err != nil {
fmt.Println(err)
}
// Do websocket handshake.
err = dg.Handshake()
if err != nil {
fmt.Println(err)
}
// Listen for events.
go dg.Listen()
// Simple way to keep program running until any key press.
var input string
fmt.Scanln(&input)
return
}
示例4: main
func main() {
logInfo("Logging in...")
var err error
var session *discordgo.Session
if accountToken == "" {
logInfo("Logging in with username and password...")
session, err = discordgo.New(username, password)
} else {
logInfo("Logging in with bot account token...")
session, err = discordgo.New(accountToken)
}
setupHandlers(session)
panicOnErr(err)
logInfo("Opening session...")
err = session.Open()
panicOnErr(err)
logInfo("Sleeping...")
<-make(chan struct{})
}