コード例 #1
0
ファイル: Bot.Events.cs プロジェクト: DebuggerAu/Miki
        public void LoadEvents()
        {
            Client.UserJoined += async(u) =>
            {
                Task.Run(() => UserJoin?.Invoke(new RuntimeUser(u)));
            };

            Client.UserLeft += async(u) =>
            {
                Task.Run(() => UserLeft?.Invoke(new RuntimeUser(u)));
            };

            Client.UserUpdated += async(u, unew) =>
            {
                RuntimeUser userOld = new RuntimeUser(u);
                RuntimeUser userNew = new RuntimeUser(unew);
                Task.Run(() => UserUpdated?.Invoke(userOld, userNew));
            };

            Client.MessageReceived += async(m) =>
            {
                RuntimeMessage newMessage = new RuntimeMessage(m);
                if (MessageReceived != null)
                {
                    await MessageReceived.Invoke(newMessage);
                }
            };

            Client.JoinedGuild += async(g) =>
            {
                Task.Run(async() =>
                {
                    RuntimeGuild guild = new RuntimeGuild(g);
                    await GuildJoin?.Invoke(guild);
                });
            };

            Client.LeftGuild += async(g) =>
            {
                RuntimeGuild guild = new RuntimeGuild(g);
                await GuildLeave?.Invoke(guild);
            };

            foreach (var shard in Client.Shards)
            {
                shard.Disconnected += async(ex) =>
                {
                    await OnShardDisconnect?.Invoke(ex, shard.ShardId);
                };
                shard.Connected += async() =>
                {
                    if (OnShardConnect != null)
                    {
                        await OnShardConnect.Invoke(shard.ShardId);
                    }
                };
            }
        }
コード例 #2
0
ファイル: Module.cs プロジェクト: amishshah/IA
        private async Task Module_LeftGuild(SocketGuild arg)
        {
            RuntimeGuild r = new RuntimeGuild(arg);

            if (await IsEnabled(r.Id))
            {
                await LeftGuild(r);
            }
        }
コード例 #3
0
ファイル: Module.cs プロジェクト: amishshah/IA
        private async Task Module_JoinedGuild(SocketGuild arg)
        {
            RuntimeGuild r = new RuntimeGuild(arg);

            if (await IsEnabled(r.Id))
            {
                try
                {
                    await JoinedGuild(r);
                }
                catch (Exception e)
                {
                }
            }
        }
コード例 #4
0
ファイル: Bot.cs プロジェクト: amishshah/IA
        private async Task Client_LeftGuild(IGuild arg)
        {
            RuntimeGuild g = new RuntimeGuild(arg);

            Task.Run(() => Events.OnGuildLeave(g));
        }
コード例 #5
0
ファイル: Bot.cs プロジェクト: amishshah/IA
        // Events
        private async Task Client_JoinedGuild(IGuild arg)
        {
            RuntimeGuild g = new RuntimeGuild(arg);

            Task.Run(() => Events.OnGuildJoin(g));
        }