public virtual void OnRoleLeft(RoleEventArgs args) { if (RoleLeft != null) { RoleLeft(this, args); } }
public virtual void OnRoleJoined(RoleEventArgs args) { if (RoleJoined != null) { RoleJoined(this, args); } }
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 + "```"); } }
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)); }
private async Task OnRoleCreate(RoleEventArgs eventArgs) { await cacheHandler.Roles.AddAsync(eventArgs.Role); }