不和谐添加 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>");
});
我想知道如何在 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>");
});