public virtual void OnRoleLeft(RoleEventArgs args)
 {
     if (RoleLeft != null)
     {
         RoleLeft(this, args);
     }
 }
 public virtual void OnRoleJoined(RoleEventArgs args)
 {
     if (RoleJoined != null)
     {
         RoleJoined(this, args);
     }
 }
Exemple #3
0
 public virtual void OnRoleDeleted(RoleEventArgs args)
 {
     if (this.RoleDeleted != null)
     {
         this.RoleDeleted(this, args);
     }
 }
 void RoleDelete(object Sender, RoleEventArgs e)
 {
     if (_ServerSettings[e.Server.Id].LogChannel != null)
     {
         if (e.Server.FindChannels(_ServerSettings[e.Server.Id].LogChannel, ChannelType.Text, true).ToList().Count == 0)
         {
             e.Server.CreateChannel(_ServerSettings[e.Server.Id].LogChannel, ChannelType.Text);
         }
         string Admins = "\nAdmins on:";
         e.Server.Users.Where(x => { return(x.Roles.Any(y => y.Permissions.BanMembers || y.Permissions.Administrator) && x.Status.Value == UserStatus.Online); }).ToList().ForEach(x => { Admins += "\n" + x.Name; });
         e.Server.FindChannels(_ServerSettings[e.Server.Id].LogChannel, ChannelType.Text).First().SendMessage("```" + e.Role + " was Deleted at " + DateTime.UtcNow + " utc" + Admins + "```");
     }
 }
Exemple #5
0
        private async Task OnMessageAsync(object ch, BasicDeliverEventArgs ea)
        {
            try
            {
                var         payload = Encoding.UTF8.GetString(ea.Body);
                ShardPacket body    = JsonConvert.DeserializeObject <ShardPacket>(payload);

                Log.Trace("packet with the op-code '" + body.opcode + "' received.");

                switch (body.opcode)
                {
                case Opcode.MessageCreate:
                {
                    if (MessageCreate != null)
                    {
                        await MessageCreate(
                            body.Data.ToObject <DiscordMessagePacket>()
                            );
                    }
                }
                break;

                case Opcode.GuildCreate:
                {
                    if (GuildCreate != null)
                    {
                        var guild = body.Data.ToObject <DiscordGuildPacket>();

                        await GuildCreate(
                            guild
                            );
                    }
                }
                break;

                case Opcode.ChannelCreate:
                {
                    if (GuildCreate != null)
                    {
                        var channel = body.Data.ToObject <DiscordChannelPacket>();

                        await ChannelCreate(
                            channel
                            );
                    }
                }
                break;

                case Opcode.GuildMemberRemove:
                {
                    if (GuildMemberRemove != null)
                    {
                        var packet = body.Data.ToObject <GuildIdUserArgs>();

                        await GuildMemberRemove(
                            packet.guildId,
                            packet.user
                            );
                    }
                }
                break;

                case Opcode.GuildMemberAdd:
                {
                    DiscordGuildMemberPacket guildMember = body.Data.ToObject <DiscordGuildMemberPacket>();

                    if (GuildMemberAdd != null)
                    {
                        await GuildMemberAdd(guildMember);
                    }
                }
                break;

                case Opcode.GuildMemberUpdate:
                {
                    GuildMemberUpdateEventArgs guildMember = body.Data.ToObject <GuildMemberUpdateEventArgs>();

                    if (GuildMemberUpdate != null)
                    {
                        await GuildMemberUpdate(
                            guildMember
                            );
                    }
                }
                break;

                case Opcode.GuildRoleCreate:
                {
                    RoleEventArgs role = body.Data.ToObject <RoleEventArgs>();

                    if (GuildRoleCreate != null)
                    {
                        await GuildRoleCreate(
                            role.GuildId,
                            role.Role
                            );
                    }
                }
                break;

                case Opcode.GuildRoleDelete:
                {
                    if (GuildRoleDelete != null)
                    {
                        RoleDeleteEventArgs role = body.Data.ToObject <RoleDeleteEventArgs>();

                        await GuildRoleDelete(
                            role.GuildId,
                            role.RoleId
                            );
                    }
                }
                break;

                case Opcode.GuildRoleUpdate:
                {
                    RoleEventArgs role = body.Data.ToObject <RoleEventArgs>();

                    if (GuildRoleUpdate != null)
                    {
                        await GuildRoleUpdate(
                            role.GuildId,
                            role.Role
                            );
                    }
                }
                break;

                case Opcode.ChannelDelete:
                {
                    if (ChannelDelete != null)
                    {
                        await ChannelDelete(
                            body.Data.ToObject <DiscordChannelPacket>()
                            );
                    }
                }
                break;

                case Opcode.ChannelUpdate:
                {
                    if (ChannelUpdate != null)
                    {
                        await ChannelUpdate(
                            body.Data.ToObject <DiscordChannelPacket>()
                            );
                    }
                }
                break;

                case Opcode.GuildBanAdd:
                {
                    if (GuildBanAdd != null)
                    {
                        var packet = body.Data.ToObject <GuildIdUserArgs>();

                        await GuildBanAdd(
                            packet.guildId,
                            packet.user
                            );
                    }
                }
                break;

                case Opcode.GuildBanRemove:
                {
                    if (GuildBanRemove != null)
                    {
                        var packet = body.Data.ToObject <GuildIdUserArgs>();

                        await GuildBanRemove(
                            packet.guildId,
                            packet.user
                            );
                    }
                }
                break;

                case Opcode.GuildDelete:
                {
                    if (GuildDelete != null)
                    {
                        var packet = body.Data.ToObject <DiscordGuildUnavailablePacket>();

                        await GuildDelete(
                            packet
                            );
                    }
                }
                break;

                case Opcode.GuildEmojiUpdate:
                {
                }
                break;

                case Opcode.GuildIntegrationsUpdate:
                {
                }
                break;

                case Opcode.GuildMembersChunk:
                {
                }
                break;

                case Opcode.GuildUpdate:
                {
                    if (GuildUpdate != null)
                    {
                        await GuildUpdate(
                            body.Data.ToObject <DiscordGuildPacket>()
                            );
                    }
                }
                break;

                case Opcode.MessageDelete:
                {
                    if (MessageDelete != null)
                    {
                        await MessageDelete(
                            body.Data.ToObject <MessageDeleteArgs>()
                            );
                    }
                }
                break;

                case Opcode.MessageDeleteBulk:
                {
                }
                break;

                case Opcode.MessageUpdate:
                {
                    if (MessageUpdate != null)
                    {
                        await MessageUpdate(
                            body.Data.ToObject <DiscordMessagePacket>()
                            );
                    }
                }
                break;

                case Opcode.PresenceUpdate:
                {
                }
                break;

                case Opcode.Ready:
                {
                }
                break;

                case Opcode.Resumed:
                {
                }
                break;

                case Opcode.TypingStart:
                {
                }
                break;

                case Opcode.UserUpdate:
                {
                    if (UserUpdate != null)
                    {
                        await UserUpdate(
                            body.Data.ToObject <DiscordUserPacket>()
                            );
                    }
                }
                break;

                case Opcode.VoiceServerUpdate:
                {
                }
                break;

                case Opcode.VoiceStateUpdate:
                {
                }
                break;
                }

                channel.BasicAck(ea.DeliveryTag, false);
            }
            catch (Exception e)
            {
                Log.Error(e);
            }
        }
        /// <summary>
        /// Event handler for when a role gets deleted.
        /// </summary>
        /// <param name="sender">The object triggering the event.</param>
        /// <param name="e">The event arguments for this role.</param>
        public async void OnRoleDeleted(object sender, RoleEventArgs e)
        {
            var channel = e.Server.FindChannels(Properties.Default.eventsChannel, ChannelType.Text).FirstOrDefault();

            await channel.SendMessage(string.Format("A role named '{0}' has been deleted!", e.Role.Name));
        }
Exemple #7
0
 private async Task OnRoleCreate(RoleEventArgs eventArgs)
 {
     await cacheHandler.Roles.AddAsync(eventArgs.Role);
 }