Discord.Net SetGameAsync() 的放置位置

Discord.Net where to place SetGameAsync()

Imports Discord
Imports Discord.WebSocket
Imports Discord.Net.Providers.WS4Net
Imports System.Windows.Forms
Imports System.Drawing
Imports System.Runtime.InteropServices
Imports System.Threading
Imports Discord.Commands

Public Module Main

    Private config As MasterConfig
    Private Client As DiscordSocketClient
    Private d_events As DiscordEvents
    Private commandHandle As CommandHandler

    Sub Main(args As String())

        RunBotASync.GetAwaiter.GetResult()

    End Sub

    Private Async Function RunBotASync() As Task
        Console.WriteLine("Now Loading Bot...")

        config = Await MasterConfig.LoadAsync

        Dim ClientConfig As New DiscordSocketConfig With {
                        .DefaultRetryMode = Discord.RetryMode.AlwaysRetry,
                        .LogLevel = LogSeverity.Info,
                        .WebSocketProvider = WS4NetProvider.Instance
                        }

        Client = New DiscordSocketClient(ClientConfig)
        d_events = New DiscordEvents(Client)
        commandHandle = New CommandHandler(config, Client)


        Await Client.LoginAsync(TokenType.Bot, config.token)
        Await Client.StartAsync()



        Await Task.Delay(Timeout.Infinite)
        Await Client.SetGameAsync("Giving Damage While Taking Damage | -help", ActivityType.Playing, ActivityProperties.None).ConfigureAwait(False)
    End Function

End Module

所以这是我获取我的机器人 运行 并连接的全部功能。我遇到的问题是我不完全确定在代码中放置 Await Client.SetGameAsync() 的位置。我已经在上面 Await Client.StartAsync() 上尝试过了,我没有收到任何错误,但状态没有显示。

在 Discord API 服务器的帮助下,我弄明白了。使用您的自定义状态创建一个函数。

Private Async Function Ready() As Task
        Await Client.SetGameAsync("Others hit me while I take their health | -help", type:=ActivityType.Watching)
    End Function

并在 StartAsync() 正下方做 AddHandler Client.Ready, AddressOf Ready 现在您有了自定义状态。