2017-06-15 26 views
1

我想知道如何设置“播放”在C#中的机器人,我使用.NET不和谐添加SetGame/SetStatus

在不和谐的文字通常是在你的名字,并说目前的游戏你正在播放,我希望它显示一个自定义的消息,当然我知道机器人不是在玩游戏,我只是想说一些我想说的话,例如“扮演好人”, “玩osu! ”。 “玩谷歌浏览器”,

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

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); 
     }); 
    } 

回答

0

您应该能够使用DiscordClient的SetGameAsync(string name, string streamurl = null, StreamType streamtype = StreamType.NotStreaming)功能来做到这一点(默认为有他们给出的参数)。这是一个异步的,所以你需要等待它(和适用于异步函数的所有标准事物适用于此)。如果你想要做的是设置游戏,用法很简单:

await discord.SetGameAsync("Google Chrome"); 

对于抽搐流(Discord.net支持没有别的似乎):

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

请添加一些上下文到你的答案。仅仅回答代码对于提问者来说并不总是足够的。 – bennygenel