示例#1
0
    private async Task Run()
    {
        _client.Log             += a => { Console.WriteLine(a); return(Task.CompletedTask); };
        _client.MessageDeleted  += new DeleteEcho(_log).MessageDeletedAsync;
        _client.MessageReceived += EchoCommand.MessageReceivedAsync;
        var games = new GamesCommand();

        _client.MessageReceived      += games.MessageReceivedAsync;
        _client.SlashCommandExecuted += games.SlashCommandExecuted;
        _client.MessageReceived      += HelpCommand.MessageReceivedAsync;
        _client.SlashCommandExecuted += PronounCommand.SlashCommandExecuted;
        _client.MessageReceived      += new MemberizerCommand(_log).MessageReceivedAsync;
        var tmpBan = new TmpBan();

        _client.SlashCommandExecuted += tmpBan.SlashCommandExecuted;
        _client.MessageReceived      += new TimingThing(tmpBan, _log).MessageReceivedAsync;
        _client.MessageReceived      += _log.MessageReceivedAsync;
        _client.MessageUpdated       += _log.MessageUpdatedAsync;
        _client.MessageReceived      += TwitterBonker.MessageReceivedAsync;

        await _client.LoginAsync(TokenType.Bot, Config.token);

        await _client.StartAsync();

        _client.Ready += async() =>
        {
            var acegikmo = _client.GetGuild(ACEGIKMO_SERVER);
            var commands = await acegikmo.BulkOverwriteApplicationCommandAsync(
                GamesCommand.Commands
                .Concat(PronounCommand.Commands)
                .Concat(TmpBan.Commands)
                .ToArray()
                );
        };

        // Block the program until it is closed.
        await Task.Delay(-1);
    }
示例#2
0
 public TimingThing(TmpBan tmpBan, Log log)
 {
     _tmpBan = tmpBan;
     _log    = log;
     SetNextUpdate();
 }