不和谐添加 SetGame/SetStatus

discord Add SetGame/SetStatus

我想知道如何在 C# 中为机器人设置“播放”,我使用的是 .NET

在 Discord 上,文字通常在您的名字下方,并说明您当前正在玩的游戏,我希望它显示自定义消息,当然我知道机器人没有在玩游戏我只是想让它说些什么我想让它说,例如 "Playing the good guy", "Playing osu!"。 "Playing Google Chrome",

这是我的一部分代码,请帮助我。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Discord;
using Discord.Commands;

namespace Kosei_Arima
{
class MyBot
{
    DiscordClient discord;
    CommandService commands;

    Random rand;

    string[] freshestMemes;

    public MyBot()
    {
        rand = new Random();

        freshestMemes = new string[]
        {
            "mem/mem1.jpg", //0
            "mem/mem2.jpg", //1
            "mem/mem3.png", //2
            "mem/mem4.png", //3
            "mem/mem5.png", //4
            "mem/mem6.jpg", //5
            "mem/mem7.jpg", //6
            "mem/mem8.jpg", //7
            "mem/mem9.jpg", //8
            "mem/mem10.jpg", //9
            "mem/mem11.jpg", //10
            "mem/mem12.jpg", //11
            "mem/mem13.jpg", //12
            "mem/mem14.jpg", //13
            "mem/mem15.jpg", //14
            "mem/mem16.jpg", //15
            "mem/mem17.jpg", //16
            "mem/mem18.jpg", //17
            "mem/mem19.jpg", //18
            "mem/mem20.jpg", //19
            "mem/mem21.jpg", //20
            "mem/mem22.png"  //21
        };

        discord = new DiscordClient(x =>
        {
            x.LogLevel = LogSeverity.Info;
            x.LogHandler = Log;
        });

        discord.UsingCommands(x =>
        {
            x.PrefixChar = '-';
            x.AllowMentionPrefix = true;
        });

        commands = discord.GetService<CommandService>();

        RegisterMemeCommand();
        RegisterHelpCommand();
        RegisterPurgeCommand();
        RegisterPruneCommand();
        RegisterDisconnectCommand();
        RegisterEchoCommand();

        OnJoin();
        OnLeave();

        discord.MessageReceived += Discord_MessageReceived;

        discord.ExecuteAndWait(async () =>
        {
            await discord.Connect("TokenGoesHere", TokenType.Bot);
        });
    }

您应该能够使用 DiscordClient 的 SetGameAsync(string name, string streamurl = null, StreamType streamtype = StreamType.NotStreaming) 函数来执行此操作(给出具有它们的参数的默认值)。它是异步的,因此您需要等待它(适用于异步函数的所有标准内容都适用于此处)。如果您只想设置游戏,使用方法非常简单:

await discord.SetGameAsync("Google Chrome");

对于 Twitch 直播(Discord.net 似乎不支持任何其他内容):

await discord.SetGameAsync("Overwatch", "https://twitch.tv/yourstreamhere", 
  StreamType.Twitch);
        client.ExecuteAndWait(async () =>
        {
            await client.Connect("your fkin token is here", TokenType.Bot);
            client.SetGame("<whatever you want>");
        });