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); } }; } }
private async Task Module_UserLeft(SocketGuildUser arg) { RuntimeUser r = new RuntimeUser(arg); if (await IsEnabled(r.Guild.Id)) { await UserLeaveGuild(r.Guild, r); } }
public static async Task SendPM(ulong userId, IDiscordEmbed embed, DatabaseSettingId settingId = DatabaseSettingId.PERSONALMESSAGE) { IUser m = Bot.instance.Client.GetUser(userId); IDiscordUser user = new RuntimeUser(m); if (CanSendNotification(userId, settingId)) { await embed.QueueToUser(user); } }
public static async Task SendPM(ulong userId, IDiscordEmbed embed, DatabaseEntityType entityType = DatabaseEntityType.USER, DatabaseSettingId settingId = DatabaseSettingId.PERSONALMESSAGE) { IUser m = Bot.instance.Client.GetUser(userId); IDiscordUser user = new RuntimeUser(m); if (CanSendNotification(userId, entityType, settingId)) { await user?.SendMessage(embed); } }
private async Task Module_UserUpdated(SocketUser arg1, SocketUser arg2) { RuntimeUser usr1 = new RuntimeUser(arg1); RuntimeUser usr2 = new RuntimeUser(arg2); if (await IsEnabled(usr1.Guild.Id)) { await UserUpdated(usr1, usr2); } }
public static async Task SendPM(ulong userId, string message, DatabaseSettingId settingId = DatabaseSettingId.PERSONALMESSAGE) { IUser m = Bot.instance.Client.GetUser(userId); IDiscordUser user = new RuntimeUser(m); if (CanSendNotification(userId, settingId)) { RuntimeEmbed e = new RuntimeEmbed(new Discord.EmbedBuilder()); e.Title = "NOTIFICATION"; e.Description = message; await e.QueueToUser(userId); Log.Message("Sent notification to " + user.Username); } }
public void LoadEvents() { Client.UserJoined += async(u) => { await MeruUtils.TryAsync(async() => { Task.Run(() => UserJoin?.Invoke(new RuntimeUser(u))); }); }; Client.UserLeft += async(u) => { await MeruUtils.TryAsync(async() => { 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) => { Task.Run(async() => { await MeruUtils.TryAsync(async() => { RuntimeMessage newMessage = new RuntimeMessage(m); await MessageReceived?.Invoke(newMessage); }); }); }; }
public async Task FindUserById(EventContext e) { IDiscordUser u = new RuntimeUser(Bot.instance.Client.GetUser(ulong.Parse(e.arguments))); await e.Channel.SendMessage(u.Username + "#" + u.Discriminator); }