diff --git a/src/NadekoBot/Classes/NadekoStats.cs b/src/NadekoBot/Classes/NadekoStats.cs index 8161348a..ae83dc3b 100644 --- a/src/NadekoBot/Classes/NadekoStats.cs +++ b/src/NadekoBot/Classes/NadekoStats.cs @@ -238,13 +238,13 @@ namespace NadekoBot {er.Exception} ------------------------------------- "); - Console.WriteLine($">>COMMAND ERRORED after *{(DateTime.UtcNow - dt).TotalSeconds}s*\nCmd: {e.Command.Text}\nMsg: {e.Message.Text}\nUsr: {e.User.Name} [{e.User.Id}]\nSrvr: {e.Server?.Name ?? "PRIVATE"} [{e.Server?.Id}]\n-----"); + Console.WriteLine($">>COMMAND ERRORED after *{(DateTime.UtcNow - dt).TotalSeconds}s*\nCmd: {e.Command.Text}\nMsg: {e.Message.Text}\nUsr: {imsg.Author.Username} [{imsg.Author.Id}]\nSrvr: {e.Server?.Name ?? "PRIVATE"} [{e.Server?.Id}]\n-----"); } } else { - Console.WriteLine($">>COMMAND ENDED after *{(DateTime.UtcNow - dt).TotalSeconds}s*\nCmd: {e.Command.Text}\nMsg: {e.Message.Text}\nUsr: {e.User.Name} [{e.User.Id}]\nSrvr: {e.Server?.Name ?? "PRIVATE"} [{e.Server?.Id}]\n-----"); + Console.WriteLine($">>COMMAND ENDED after *{(DateTime.UtcNow - dt).TotalSeconds}s*\nCmd: {e.Command.Text}\nMsg: {e.Message.Text}\nUsr: {imsg.Author.Username} [{imsg.Author.Id}]\nSrvr: {e.Server?.Name ?? "PRIVATE"} [{e.Server?.Id}]\n-----"); } } catch { } @@ -253,7 +253,7 @@ namespace NadekoBot private async void StatsCollector_RanCommand(object sender, CommandEventArgs e) { commandTracker.TryAdd(e.Message.Id, DateTime.UtcNow); - Console.WriteLine($">>COMMAND STARTED\nCmd: {e.Command.Text}\nMsg: {e.Message.Text}\nUsr: {e.User.Name} [{e.User.Id}]\nSrvr: {e.Server?.Name ?? "PRIVATE"} [{e.Server?.Id}]\n-----"); + Console.WriteLine($">>COMMAND STARTED\nCmd: {e.Command.Text}\nMsg: {e.Message.Text}\nUsr: {imsg.Author.Username} [{imsg.Author.Id}]\nSrvr: {e.Server?.Name ?? "PRIVATE"} [{e.Server?.Id}]\n-----"); #if !NADEKO_RELEASE await Task.Run(() => { @@ -266,8 +266,8 @@ namespace NadekoBot ServerName = e.Server?.Name ?? "--Direct Message--", ChannelId = (long)e.Channel.Id, ChannelName = e.Channel.IsPrivate ? "--Direct Message" : e.Channel.Name, - UserId = (long)e.User.Id, - UserName = e.User.Name, + UserId = (long)imsg.Author.Id, + UserName = imsg.Author.Username, CommandName = e.Command.Text, DateAdded = DateTime.Now }); diff --git a/src/NadekoBot/Modules/Administration/Commands/AutoAssignRole.cs b/src/NadekoBot/Modules/Administration/Commands/AutoAssignRole.cs index f9100e5c..b2a7bfc1 100644 --- a/src/NadekoBot/Modules/Administration/Commands/AutoAssignRole.cs +++ b/src/NadekoBot/Modules/Administration/Commands/AutoAssignRole.cs @@ -23,7 +23,7 @@ namespace NadekoBot.Modules.Administration.Commands //if (role == null) // return; - //e.User.AddRoles(role); + //imsg.Author.AddRoles(role); return Task.CompletedTask; }; } diff --git a/src/NadekoBot/Modules/Administration/Commands/CrossServerTextChannel.cs b/src/NadekoBot/Modules/Administration/Commands/CrossServerTextChannel.cs index 0e0bade4..3b245324 100644 --- a/src/NadekoBot/Modules/Administration/Commands/CrossServerTextChannel.cs +++ b/src/NadekoBot/Modules/Administration/Commands/CrossServerTextChannel.cs @@ -18,7 +18,7 @@ // { // try // { -// if (e.User.Id == NadekoBot.Client.CurrentUser.Id) return; +// if (imsg.Author.Id == NadekoBot.Client.CurrentUser.Id) return; // foreach (var subscriber in Subscribers) // { // var set = subscriber.Value; @@ -26,7 +26,7 @@ // continue; // foreach (var chan in set.Except(new[] { e.Channel })) // { -// await chan.SendMessage(GetText(e.Server, e.Channel, e.User, e.Message)).ConfigureAwait(false); +// await chan.SendMessage(GetText(e.Server, e.Channel, imsg.Author, e.Message)).ConfigureAwait(false); // } // } // } @@ -46,9 +46,9 @@ // { // var msg = chan.Messages // .FirstOrDefault(m => -// m.RawText == GetText(e.Server, e.Channel, e.User, e.Before)); +// m.RawText == GetText(e.Server, e.Channel, imsg.Author, e.Before)); // if (msg != default(Message)) -// await msg.Edit(GetText(e.Server, e.Channel, e.User, e.After)).ConfigureAwait(false); +// await msg.Edit(GetText(e.Server, e.Channel, imsg.Author, e.After)).ConfigureAwait(false); // } // } @@ -75,7 +75,7 @@ // if (Subscribers.TryAdd(token, set)) // { // set.Add(e.Channel); -// await e.User.SendMessage("This is your CSC token:" + token.ToString()).ConfigureAwait(false); +// await imsg.Author.SendMessage("This is your CSC token:" + token.ToString()).ConfigureAwait(false); // } // }); diff --git a/src/NadekoBot/Modules/Administration/Commands/IncidentsCommands.cs b/src/NadekoBot/Modules/Administration/Commands/IncidentsCommands.cs index 4b8e584a..6722a384 100644 --- a/src/NadekoBot/Modules/Administration/Commands/IncidentsCommands.cs +++ b/src/NadekoBot/Modules/Administration/Commands/IncidentsCommands.cs @@ -23,7 +23,7 @@ // var incs = DbHandler.Instance.FindAll(i => i.ServerId == sid && i.Read == false); // DbHandler.Instance.Connection.UpdateAll(incs.Select(i => { i.Read = true; return i; })); -// await e.User.SendMessage(string.Join("\n----------------------", incs.Select(i => i.Text))); +// await imsg.Author.SendMessage(string.Join("\n----------------------", incs.Select(i => i.Text))); // }); // cgb.CreateCommand(Module.Prefix + "listallincidents") @@ -41,7 +41,7 @@ // sw.WriteLine(data); // sw.Flush(); // sw.BaseStream.Position = 0; -// await e.User.SendFile("incidents.txt", sw.BaseStream); +// await imsg.Author.SendFile("incidents.txt", sw.BaseStream); // }); // } // } diff --git a/src/NadekoBot/Modules/Administration/Commands/LogCommand.cs b/src/NadekoBot/Modules/Administration/Commands/LogCommand.cs index 83f301ae..14524a4f 100644 --- a/src/NadekoBot/Modules/Administration/Commands/LogCommand.cs +++ b/src/NadekoBot/Modules/Administration/Commands/LogCommand.cs @@ -36,17 +36,17 @@ // NadekoBot.Client.MessageReceived += async (s, e) => // { -// if (e.Channel.IsPrivate || e.User.Id == NadekoBot.Client.CurrentUser.Id) +// if (e.Channel.IsPrivate || imsg.Author.Id == NadekoBot.Client.CurrentUser.Id) // return; // if (!SpecificConfigurations.Default.Of(e.Server.Id).SendPrivateMessageOnMention) return; // try // { -// var usr = e.Message.MentionedUsers.FirstOrDefault(u => u != e.User); +// var usr = e.Message.MentionedUsers.FirstOrDefault(u => u != imsg.Author); // if (usr?.Status != UserStatus.Offline) // return; // await channel.SendMessageAsync($"User `{usr.Name}` is offline. PM sent.").ConfigureAwait(false); // await usr.SendMessage( -// $"User `{e.User.Name}` mentioned you on " + +// $"User `{imsg.Author.Username}` mentioned you on " + // $"`{e.Server.Name}` server while you were offline.\n" + // $"`Message:` {e.Message.Text}").ConfigureAwait(false); // } @@ -148,7 +148,7 @@ // Channel ch; // if ((ch = e.Server.TextChannels.Where(tc => tc.Id == chId).FirstOrDefault()) == null) // return; -// await ch.SendMessage($"`{prettyCurrentTime}`♻`User was unbanned:` **{e.User.Name}** ({e.User.Id})").ConfigureAwait(false); +// await ch.SendMessage($"`{prettyCurrentTime}`♻`User was unbanned:` **{imsg.Author.Username}** ({imsg.Author.Id})").ConfigureAwait(false); // } // catch { } // } @@ -163,7 +163,7 @@ // Channel ch; // if ((ch = e.Server.TextChannels.Where(tc => tc.Id == chId).FirstOrDefault()) == null) // return; -// await ch.SendMessage($"`{prettyCurrentTime}`✅`User joined:` **{e.User.Name}** ({e.User.Id})").ConfigureAwait(false); +// await ch.SendMessage($"`{prettyCurrentTime}`✅`User joined:` **{imsg.Author.Username}** ({imsg.Author.Id})").ConfigureAwait(false); // } // catch { } // } @@ -178,7 +178,7 @@ // Channel ch; // if ((ch = e.Server.TextChannels.Where(tc => tc.Id == chId).FirstOrDefault()) == null) // return; -// await ch.SendMessage($"`{prettyCurrentTime}`❗`User left:` **{e.User.Name}** ({e.User.Id})").ConfigureAwait(false); +// await ch.SendMessage($"`{prettyCurrentTime}`❗`User left:` **{imsg.Author.Username}** ({imsg.Author.Id})").ConfigureAwait(false); // } // catch { } // } @@ -193,7 +193,7 @@ // Channel ch; // if ((ch = e.Server.TextChannels.Where(tc => tc.Id == chId).FirstOrDefault()) == null) // return; -// await ch.SendMessage($"❗`{prettyCurrentTime}`❌`User banned:` **{e.User.Name}** ({e.User.Id})").ConfigureAwait(false); +// await ch.SendMessage($"❗`{prettyCurrentTime}`❌`User banned:` **{imsg.Author.Username}** ({imsg.Author.Id})").ConfigureAwait(false); // } // catch { } // } @@ -202,7 +202,7 @@ // { // try // { -// if (e.Server == null || e.Channel.IsPrivate || e.User.Id == NadekoBot.Client.CurrentUser.Id) +// if (e.Server == null || e.Channel.IsPrivate || imsg.Author.Id == NadekoBot.Client.CurrentUser.Id) // return; // var config = SpecificConfigurations.Default.Of(e.Server.Id); // var chId = config.LogServerChannel; @@ -215,13 +215,13 @@ // { // await ch.SendMessage( // $@"🕔`{prettyCurrentTime}` **New Message** `#{e.Channel.Name}` -//👤`{e.User?.ToString() ?? ("NULL")}` {e.Message.Text.Unmention()}").ConfigureAwait(false); +//👤`{imsg.Author?.ToString() ?? ("NULL")}` {e.Message.Text.Unmention()}").ConfigureAwait(false); // } // else // { // await ch.SendMessage( // $@"🕔`{prettyCurrentTime}` **File Uploaded** `#{e.Channel.Name}` -//👤`{e.User?.ToString() ?? ("NULL")}` {e.Message.Attachments.FirstOrDefault()?.ProxyUrl}").ConfigureAwait(false); +//👤`{imsg.Author?.ToString() ?? ("NULL")}` {e.Message.Attachments.FirstOrDefault()?.ProxyUrl}").ConfigureAwait(false); // } // } @@ -231,7 +231,7 @@ // { // try // { -// if (e.Server == null || e.Channel.IsPrivate || e.User?.Id == NadekoBot.Client.CurrentUser.Id) +// if (e.Server == null || e.Channel.IsPrivate || imsg.Author?.Id == NadekoBot.Client.CurrentUser.Id) // return; // var config = SpecificConfigurations.Default.Of(e.Server.Id); // var chId = config.LogServerChannel; @@ -244,13 +244,13 @@ // { // await ch.SendMessage( // $@"🕔`{prettyCurrentTime}` **Message** 🚮 `#{e.Channel.Name}` -//👤`{e.User?.ToString() ?? ("NULL")}` {e.Message.Text.Unmention()}").ConfigureAwait(false); +//👤`{imsg.Author?.ToString() ?? ("NULL")}` {e.Message.Text.Unmention()}").ConfigureAwait(false); // } // else // { // await ch.SendMessage( // $@"🕔`{prettyCurrentTime}` **File Deleted** `#{e.Channel.Name}` -//👤`{e.User?.ToString() ?? ("NULL")}` {e.Message.Attachments.FirstOrDefault()?.ProxyUrl}").ConfigureAwait(false); +//👤`{imsg.Author?.ToString() ?? ("NULL")}` {e.Message.Attachments.FirstOrDefault()?.ProxyUrl}").ConfigureAwait(false); // } // } // catch { } @@ -259,7 +259,7 @@ // { // try // { -// if (e.Server == null || e.Channel.IsPrivate || e.User?.Id == NadekoBot.Client.CurrentUser.Id) +// if (e.Server == null || e.Channel.IsPrivate || imsg.Author?.Id == NadekoBot.Client.CurrentUser.Id) // return; // var config = SpecificConfigurations.Default.Of(e.Server.Id); // var chId = config.LogServerChannel; @@ -270,7 +270,7 @@ // return; // await ch.SendMessage( // $@"🕔`{prettyCurrentTime}` **Message** 📝 `#{e.Channel.Name}` -//👤`{e.User?.ToString() ?? ("NULL")}` +//👤`{imsg.Author?.ToString() ?? ("NULL")}` // `Old:` {e.Before.Text.Unmention()} // `New:` {e.After.Text.Unmention()}").ConfigureAwait(false); // } @@ -466,19 +466,19 @@ // return; // } -// if (e.User.VoiceChannel == null) +// if (imsg.Author.VoiceChannel == null) // { // await channel.SendMessageAsync("💢 You are not in a voice channel right now. If you are, please rejoin it.").ConfigureAwait(false); // return; // } // ulong throwaway; -// if (!config.VoiceChannelLog.TryRemove(e.User.VoiceChannel.Id, out throwaway)) +// if (!config.VoiceChannelLog.TryRemove(imsg.Author.VoiceChannel.Id, out throwaway)) // { -// config.VoiceChannelLog.TryAdd(e.User.VoiceChannel.Id, e.Channel.Id); -// await channel.SendMessageAsync($"`Logging user updates for` {e.User.VoiceChannel.Mention} `voice channel.`").ConfigureAwait(false); +// config.VoiceChannelLog.TryAdd(imsg.Author.VoiceChannel.Id, e.Channel.Id); +// await channel.SendMessageAsync($"`Logging user updates for` {imsg.Author.VoiceChannel.Mention} `voice channel.`").ConfigureAwait(false); // } // else -// await channel.SendMessageAsync($"`Stopped logging user updates for` {e.User.VoiceChannel.Mention} `voice channel.`").ConfigureAwait(false); +// await channel.SendMessageAsync($"`Stopped logging user updates for` {imsg.Author.VoiceChannel.Mention} `voice channel.`").ConfigureAwait(false); // }); // } // } diff --git a/src/NadekoBot/Modules/Administration/Commands/SelfAssignedRolesCommand.cs b/src/NadekoBot/Modules/Administration/Commands/SelfAssignedRolesCommand.cs index 3ae023d9..6f69d0ba 100644 --- a/src/NadekoBot/Modules/Administration/Commands/SelfAssignedRolesCommand.cs +++ b/src/NadekoBot/Modules/Administration/Commands/SelfAssignedRolesCommand.cs @@ -131,12 +131,12 @@ // await channel.SendMessageAsync(":anger:That role is not self-assignable.").ConfigureAwait(false); // return; // } -// if (e.User.HasRole(role)) +// if (imsg.Author.HasRole(role)) // { // await channel.SendMessageAsync($":anger:You already have {role.Name} role.").ConfigureAwait(false); // return; // } -// var sameRoles = e.User.Roles.Where(r => config.ListOfSelfAssignableRoles.Contains(r.Id)); +// var sameRoles = imsg.Author.Roles.Where(r => config.ListOfSelfAssignableRoles.Contains(r.Id)); // if (config.ExclusiveSelfAssignedRoles && sameRoles.Any()) // { // await channel.SendMessageAsync($":anger:You already have {sameRoles.FirstOrDefault().Name} role.").ConfigureAwait(false); @@ -144,7 +144,7 @@ // } // try // { -// await e.User.AddRoles(role).ConfigureAwait(false); +// await imsg.Author.AddRoles(role).ConfigureAwait(false); // } // catch (HttpException ex) when (ex.StatusCode == System.Net.HttpStatusCode.InternalServerError) // { @@ -187,12 +187,12 @@ // await channel.SendMessageAsync(":anger:That role is not self-assignable.").ConfigureAwait(false); // return; // } -// if (!e.User.HasRole(role)) +// if (!imsg.Author.HasRole(role)) // { // await channel.SendMessageAsync($":anger:You don't have {role.Name} role.").ConfigureAwait(false); // return; // } -// await e.User.RemoveRoles(role).ConfigureAwait(false); +// await imsg.Author.RemoveRoles(role).ConfigureAwait(false); // var msg = await channel.SendMessageAsync($":ok:Successfuly removed {role.Name} role from you.").ConfigureAwait(false); // await Task.Delay(3000).ConfigureAwait(false); // await msg.Delete().ConfigureAwait(false); diff --git a/src/NadekoBot/Modules/Administration/Commands/ServerGreetCommand.cs b/src/NadekoBot/Modules/Administration/Commands/ServerGreetCommand.cs index d8f745c9..acdb5964 100644 --- a/src/NadekoBot/Modules/Administration/Commands/ServerGreetCommand.cs +++ b/src/NadekoBot/Modules/Administration/Commands/ServerGreetCommand.cs @@ -39,7 +39,7 @@ // var controls = AnnouncementsDictionary[e.Server.Id]; // var channel = NadekoBot.Client.GetChannel(controls.ByeChannel); -// var msg = controls.ByeText.Replace("%user%", "**" + e.User.Name + "**").Trim(); +// var msg = controls.ByeText.Replace("%user%", "**" + imsg.Author.Username + "**").Trim(); // if (string.IsNullOrEmpty(msg)) // return; @@ -48,7 +48,7 @@ // Greeted++; // try // { -// await e.User.SendMessage($"`Farewell Message From {e.Server?.Name}`\n" + msg).ConfigureAwait(false); +// await imsg.Author.SendMessage($"`Farewell Message From {e.Server?.Name}`\n" + msg).ConfigureAwait(false); // } // catch { } @@ -78,13 +78,13 @@ // var controls = AnnouncementsDictionary[e.Server.Id]; // var channel = NadekoBot.Client.GetChannel(controls.GreetChannel); -// var msg = controls.GreetText.Replace("%user%", e.User.Mention).Trim(); +// var msg = controls.GreetText.Replace("%user%", imsg.Author.Mention).Trim(); // if (string.IsNullOrEmpty(msg)) // return; // if (controls.GreetPM) // { // Greeted++; -// await e.User.SendMessage($"`Welcome Message From {e.Server.Name}`\n" + msg).ConfigureAwait(false); +// await imsg.Author.SendMessage($"`Welcome Message From {e.Server.Name}`\n" + msg).ConfigureAwait(false); // } // else // { @@ -211,7 +211,7 @@ // .Description($"Toggles automatic deletion of greet and bye messages. **Needs Manage Server Permissions.**| `{Prefix}grdel`") // .Do(async e => // { -// if (!e.User.ServerPermissions.ManageServer) return; +// if (!imsg.Author.ServerPermissions.ManageServer) return; // var ann = AnnouncementsDictionary.GetOrAdd(e.Server.Id, new AnnounceControls(e.Server.Id)); // if (ann.ToggleDelete()) @@ -224,7 +224,7 @@ // .Description($"Toggles anouncements on the current channel when someone joins the server. **Needs Manage Server Permissions.**| `{Prefix}greet`") // .Do(async e => // { -// if (!e.User.ServerPermissions.ManageServer) return; +// if (!imsg.Author.ServerPermissions.ManageServer) return; // var ann = AnnouncementsDictionary.GetOrAdd(e.Server.Id, new AnnounceControls(e.Server.Id)); // if (ann.ToggleGreet(e.Channel.Id)) @@ -238,7 +238,7 @@ // .Parameter("msg", ParameterType.Unparsed) // .Do(async e => // { -// if (!e.User.ServerPermissions.ManageServer) return; +// if (!imsg.Author.ServerPermissions.ManageServer) return; // var ann = AnnouncementsDictionary.GetOrAdd(e.Server.Id, new AnnounceControls(e.Server.Id)); // if (string.IsNullOrWhiteSpace(e.GetArg("msg"))) // { @@ -257,7 +257,7 @@ // .Description($"Toggles anouncements on the current channel when someone leaves the server. | `{Prefix}bye`") // .Do(async e => // { -// if (!e.User.ServerPermissions.ManageServer) return; +// if (!imsg.Author.ServerPermissions.ManageServer) return; // var ann = AnnouncementsDictionary.GetOrAdd(e.Server.Id, new AnnounceControls(e.Server.Id)); // if (ann.ToggleBye(e.Channel.Id)) @@ -271,7 +271,7 @@ // .Parameter("msg", ParameterType.Unparsed) // .Do(async e => // { -// if (!e.User.ServerPermissions.ManageServer) return; +// if (!imsg.Author.ServerPermissions.ManageServer) return; // var ann = AnnouncementsDictionary.GetOrAdd(e.Server.Id, new AnnounceControls(e.Server.Id)); // if (string.IsNullOrWhiteSpace(e.GetArg("msg"))) // { @@ -289,7 +289,7 @@ // .Description($"Toggles whether the good bye messages will be sent in a PM or in the text channel. **Needs Manage Server Permissions.**| `{Prefix}byepm`") // .Do(async e => // { -// if (!e.User.ServerPermissions.ManageServer) return; +// if (!imsg.Author.ServerPermissions.ManageServer) return; // var ann = AnnouncementsDictionary.GetOrAdd(e.Server.Id, new AnnounceControls(e.Server.Id)); @@ -305,7 +305,7 @@ // .Description($"Toggles whether the greet messages will be sent in a PM or in the text channel. **Needs Manage Server Permissions.**| `{Prefix}greetpm`") // .Do(async e => // { -// if (!e.User.ServerPermissions.ManageServer) return; +// if (!imsg.Author.ServerPermissions.ManageServer) return; // var ann = AnnouncementsDictionary.GetOrAdd(e.Server.Id, new AnnounceControls(e.Server.Id)); diff --git a/src/NadekoBot/Modules/Gambling/Commands/AnimalRacing.cs b/src/NadekoBot/Modules/Gambling/Commands/AnimalRacing.cs index 639c04f3..5a12b643 100644 --- a/src/NadekoBot/Modules/Gambling/Commands/AnimalRacing.cs +++ b/src/NadekoBot/Modules/Gambling/Commands/AnimalRacing.cs @@ -11,7 +11,8 @@ using System.Threading.Tasks; namespace NadekoBot.Modules.Gambling.Commands { - class AnimalRacing : DiscordCommand + [Group] + class AnimalRacing { public static ConcurrentDictionary AnimalRaces = new ConcurrentDictionary(); @@ -44,24 +45,24 @@ namespace NadekoBot.Modules.Gambling.Commands if (!int.TryParse(e.GetArg("amount"), out amount) || amount < 0) amount = 0; - var userFlowers = GamblingModule.GetUserFlowers(e.User.Id); + var userFlowers = Gambling.GetUserFlowers(imsg.Author.Id); if (userFlowers < amount) { - await imsg.Channel.SendMessageAsync($"{e.User.Mention} You don't have enough {NadekoBot.Config.CurrencyName}s. You only have {userFlowers}{NadekoBot.Config.CurrencySign}.").ConfigureAwait(false); + await channel.SendMessageAsync($"{imsg.Author.Mention} You don't have enough {NadekoBot.Config.CurrencyName}s. You only have {userFlowers}{NadekoBot.Config.CurrencySign}.").ConfigureAwait(false); return; } if (amount > 0) - await FlowersHandler.RemoveFlowers(e.User, "BetRace", (int)amount, true).ConfigureAwait(false); + await FlowersHandler.RemoveFlowers(imsg.Author, "BetRace", (int)amount, true).ConfigureAwait(false); AnimalRace ar; if (!AnimalRaces.TryGetValue(e.Server.Id, out ar)) { - await imsg.Channel.SendMessageAsync("No race exists on this server"); + await channel.SendMessageAsync("No race exists on this server"); return; } - await ar.JoinRace(e.User, amount); + await ar.JoinRace(imsg.Author, amount); }); } @@ -77,7 +78,7 @@ namespace NadekoBot.Modules.Gambling.Commands private ulong serverId; private int messagesSinceGameStarted = 0; - public Channel raceChannel { get; set; } + public IGuildChannel raceChannel { get; set; } public bool Started { get; private set; } = false; public AnimalRace(ulong serverId, Channel ch) @@ -134,7 +135,7 @@ namespace NadekoBot.Modules.Gambling.Commands { var rng = new Random(); Participant winner = null; - Message msg = null; + IMessage msg = null; int place = 1; try { @@ -196,7 +197,7 @@ namespace NadekoBot.Modules.Gambling.Commands } - private void Client_MessageReceived(object sender, MessageEventArgs e) + private void Client_MessageReceived(IMessage imsg) { if (e.Message.IsAuthor || e.Channel.IsPrivate || e.Channel != raceChannel) return; @@ -211,7 +212,7 @@ namespace NadekoBot.Modules.Gambling.Commands } } - public async Task JoinRace(User u, int amount = 0) + public async Task JoinRace(IGuildUser u, int amount = 0) { var animal = ""; if (!animals.TryDequeue(out animal)) @@ -238,7 +239,7 @@ namespace NadekoBot.Modules.Gambling.Commands public class Participant { - public User User { get; set; } + public IGuildUser User { get; set; } public string Animal { get; set; } public int AmountBet { get; set; } @@ -247,7 +248,7 @@ namespace NadekoBot.Modules.Gambling.Commands public int Place { get; set; } = 0; - public Participant(User u, string a, int amount) + public Participant(IGuildUser u, string a, int amount) { this.User = u; this.Animal = a; diff --git a/src/NadekoBot/Modules/Gambling/Commands/DiceRollCommand.cs b/src/NadekoBot/Modules/Gambling/Commands/DiceRollCommand.cs index 58c9bb84..50110b9f 100644 --- a/src/NadekoBot/Modules/Gambling/Commands/DiceRollCommand.cs +++ b/src/NadekoBot/Modules/Gambling/Commands/DiceRollCommand.cs @@ -151,7 +151,7 @@ namespace NadekoBot.Modules.Gambling rolled = new Random().Next(0, int.Parse(e.GetArg("range")) + 1); } - await channel.SendMessageAsync($"{e.User.Mention} rolled **{rolled}**.").ConfigureAwait(false); + await channel.SendMessageAsync($"{imsg.Author.Mention} rolled **{rolled}**.").ConfigureAwait(false); } catch (Exception ex) { diff --git a/src/NadekoBot/Modules/Gambling/Commands/DrawCommand.cs b/src/NadekoBot/Modules/Gambling/Commands/DrawCommand.cs index 2d1e2964..fc58e506 100644 --- a/src/NadekoBot/Modules/Gambling/Commands/DrawCommand.cs +++ b/src/NadekoBot/Modules/Gambling/Commands/DrawCommand.cs @@ -79,7 +79,7 @@ namespace NadekoBot.Modules.Gambling await e.Channel.SendFile(images.Count + " cards.jpg", bitmap.ToStream()).ConfigureAwait(false); if (cardObjects.Count == 5) { - await channel.SendMessageAsync($"{e.User.Mention} `{Cards.GetHandValue(cardObjects)}`").ConfigureAwait(false); + await channel.SendMessageAsync($"{imsg.Author.Mention} `{Cards.GetHandValue(cardObjects)}`").ConfigureAwait(false); } } catch (Exception ex) diff --git a/src/NadekoBot/Modules/Gambling/Gambling.cs b/src/NadekoBot/Modules/Gambling/Gambling.cs index 3634f9b2..f08e5859 100644 --- a/src/NadekoBot/Modules/Gambling/Gambling.cs +++ b/src/NadekoBot/Modules/Gambling/Gambling.cs @@ -40,7 +40,7 @@ namespace NadekoBot.Modules.Gambling //{ // var channel = imsg.Channel as ITextChannel; - // var usr = e.Message.MentionedUsers.FirstOrDefault() ?? e.User; + // var usr = e.Message.MentionedUsers.FirstOrDefault() ?? imsg.Author; // var pts = GetUserFlowers(usr.Id); // var str = $"{usr.Name} has {pts} {NadekoBot.Config.CurrencySign}"; // await channel.SendMessageAsync(str).ConfigureAwait(false); @@ -58,14 +58,14 @@ namespace NadekoBot.Modules.Gambling // if (userFlowers < amount) // { - // await channel.SendMessageAsync($"{e.User.Mention} You don't have enough {NadekoBot.Config.CurrencyName}s. You only have {userFlowers}{NadekoBot.Config.CurrencySign}.").ConfigureAwait(false); + // await channel.SendMessageAsync($"{imsg.Author.Mention} You don't have enough {NadekoBot.Config.CurrencyName}s. You only have {userFlowers}{NadekoBot.Config.CurrencySign}.").ConfigureAwait(false); // return; // } - // await FlowersHandler.RemoveFlowers(e.User, "Gift", (int)amount, true).ConfigureAwait(false); + // await FlowersHandler.RemoveFlowers(imsg.Author, "Gift", (int)amount, true).ConfigureAwait(false); // await FlowersHandler.AddFlowersAsync(receiver, "Gift", (int)amount).ConfigureAwait(false); - // await channel.SendMessageAsync($"{e.User.Mention} successfully sent {amount} {NadekoBot.Config.CurrencyName}s to {receiver.Mention}!").ConfigureAwait(false); + // await channel.SendMessageAsync($"{imsg.Author.Mention} successfully sent {amount} {NadekoBot.Config.CurrencyName}s to {receiver.Mention}!").ConfigureAwait(false); //} @@ -87,122 +87,94 @@ namespace NadekoBot.Modules.Gambling // await FlowersHandler.AddFlowersAsync(usrId, $"Awarded by bot owner. ({imsg.Author.Username}/{imsg.Author.Id})", (int)amount).ConfigureAwait(false); - // await channel.SendMessageAsync($"{e.User.Mention} successfully awarded {amount} {NadekoBot.Config.CurrencyName}s to <@{usrId}>!").ConfigureAwait(false); + // await channel.SendMessageAsync($"{imsg.Author.Mention} successfully awarded {amount} {NadekoBot.Config.CurrencyName}s to <@{usrId}>!").ConfigureAwait(false); //} + ////todo owner only + ////todo DB + //[LocalizedCommand, LocalizedDescription, LocalizedSummary] + //[RequireContext(ContextType.Guild)] + //public Task Take(IMessage imsg, long amount, [Remainder] IGuildUser user) => + // Take(imsg, amount, user.Id); - [LocalizedCommand, LocalizedDescription, LocalizedSummary] - [RequireContext(ContextType.Guild)] - public async Task Take(IMessage imsg, long amount, [Remainder] IGuildUser ownedPerson) - { - var channel = imsg.Channel as ITextChannel; + //[LocalizedCommand, LocalizedDescription, LocalizedSummary] + //[RequireContext(ContextType.Guild)] + //public async Task Take(IMessage imsg, long amount, [Remainder] ulong usrId) + //{ + // var channel = imsg.Channel as ITextChannel; + // if (amount <= 0) + // return; - if (amount < 0) - return; + // await FlowersHandler.RemoveFlowers(usrId, $"Taken by bot owner.({imsg.Author.Username}/{imsg.Author.Id})", (int)amount).ConfigureAwait(false); - var mentionedUser = e.Message.MentionedUsers.FirstOrDefault(u => - u.Id != NadekoBot.Client.CurrentUser.Id); - if (mentionedUser == null) - return; + // await channel.SendMessageAsync($"{imsg.Author.Mention} successfully took {amount} {NadekoBot.Config.CurrencyName}s from <@{usrId}>!").ConfigureAwait(false); + //} - await FlowersHandler.RemoveFlowers(ownedPerson.Id, $"Taken by bot owner.({e.User.Name}/{e.User.Id})", (int)amount).ConfigureAwait(false); + //[LocalizedCommand, LocalizedDescription, LocalizedSummary] + //[RequireContext(ContextType.Guild)] + //public async Task BetRoll(IMessage imsg, int amount) + //{ + // var channel = imsg.Channel as ITextChannel; - await channel.SendMessageAsync($"{e.User.Mention} successfully took {amount} {NadekoBot.Config.CurrencyName}s from {mentionedUser.Mention}!").ConfigureAwait(false); + // if (amount < 1) + // return; + + // var userFlowers = GetUserFlowers(imsg.Author.Id); + + // if (userFlowers < amount) + // { + // await channel.SendMessageAsync($"{imsg.Author.Mention} You don't have enough {NadekoBot.Config.CurrencyName}s. You only have {userFlowers}{NadekoBot.Config.CurrencySign}.").ConfigureAwait(false); + // return; + // } + + // await FlowersHandler.RemoveFlowers(imsg.Author, "Betroll Gamble", (int)amount, true).ConfigureAwait(false); + + // var rng = new Random().Next(0, 101); + // var str = $"{imsg.Author.Mention} `You rolled {rng}.` "; + // if (rng < 67) + // { + // str += "Better luck next time."; + // } + // else if (rng < 90) + // { + // str += $"Congratulations! You won {amount * 2}{NadekoBot.Config.CurrencySign} for rolling above 66"; + // await FlowersHandler.AddFlowersAsync(imsg.Author, "Betroll Gamble", amount * 2, true).ConfigureAwait(false); + // } + // else if (rng < 100) + // { + // str += $"Congratulations! You won {amount * 3}{NadekoBot.Config.CurrencySign} for rolling above 90."; + // await FlowersHandler.AddFlowersAsync(imsg.Author, "Betroll Gamble", amount * 3, true).ConfigureAwait(false); + // } + // else + // { + // str += $"👑 Congratulations! You won {amount * 10}{NadekoBot.Config.CurrencySign} for rolling **100**. 👑"; + // await FlowersHandler.AddFlowersAsync(imsg.Author, "Betroll Gamble", amount * 10, true).ConfigureAwait(false); + // } + + // await channel.SendMessageAsync(str).ConfigureAwait(false); + //} + + ////todo DB +// [LocalizedCommand, LocalizedDescription, LocalizedSummary] +// [RequireContext(ContextType.Guild)] +// public async Task Leaderboard(IMessage imsg) +// { +// var channel = imsg.Channel as ITextChannel; + +// var richestTemp = DbHandler.Instance.GetTopRichest(); +// var richest = richestTemp as CurrencyState[] ?? richestTemp.ToArray(); +// if (richest.Length == 0) +// return; +// await channel.SendMessageAsync( +// richest.Aggregate(new StringBuilder( +//$@"```xl +//┏━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━┓ +//┃ Id ┃ $$$ ┃ +//"), +// (cur, cs) => cur.AppendLine( +//$@"┣━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━┫ +//┃{(e.Server.Users.Where(u => u.Id == (ulong)cs.UserId).FirstOrDefault()?.Name.TrimTo(18, true) ?? cs.UserId.ToString()),-20} ┃ {cs.Value,5} ┃") +// ).ToString() + "┗━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━┛```").ConfigureAwait(false); } - - public override void Install(ModuleManager manager) - { - cgb.CreateCommand(Prefix + "award") - .Description($"Gives someone a certain amount of flowers. **Bot Owner Only!** | `{Prefix}award 100 @person`") - .AddCheck(SimpleCheckers.OwnerOnly()) - .Parameter("amount", ParameterType.Required) - .Parameter("receiver", ParameterType.Unparsed) - .Do(async e => - { - - }); - - cgb.CreateCommand(Prefix + "take") - .Description($"Takes a certain amount of flowers from someone. **Bot Owner Only!** | `{Prefix}take 1 \"@someguy\"`") - .AddCheck(SimpleCheckers.OwnerOnly()) - .Parameter("amount", ParameterType.Required) - .Parameter("rektperson", ParameterType.Unparsed) - .Do(async e => - { - }); - - cgb.CreateCommand(Prefix + "betroll") - .Alias(Prefix + "br") - .Description($"Bets a certain amount of {NadekoBot.Config.CurrencyName}s and rolls a dice. Rolling over 66 yields x2 flowers, over 90 - x3 and 100 x10. | `{Prefix}br 5`") - .Parameter("amount", ParameterType.Required) - .Do(async e => - { - var amountstr = e.GetArg("amount").Trim(); - int amount; - - if (!int.TryParse(amountstr, out amount) || amount < 1) - return; - - var userFlowers = GetUserFlowers(e.User.Id); - - if (userFlowers < amount) - { - await channel.SendMessageAsync($"{e.User.Mention} You don't have enough {NadekoBot.Config.CurrencyName}s. You only have {userFlowers}{NadekoBot.Config.CurrencySign}.").ConfigureAwait(false); - return; - } - - await FlowersHandler.RemoveFlowers(e.User, "Betroll Gamble", (int)amount, true).ConfigureAwait(false); - - var rng = new Random().Next(0, 101); - var str = $"{e.User.Mention} `You rolled {rng}.` "; - if (rng < 67) - { - str += "Better luck next time."; - } - else if (rng < 90) - { - str += $"Congratulations! You won {amount * 2}{NadekoBot.Config.CurrencySign} for rolling above 66"; - await FlowersHandler.AddFlowersAsync(e.User, "Betroll Gamble", amount * 2, true).ConfigureAwait(false); - } - else if (rng < 100) - { - str += $"Congratulations! You won {amount * 3}{NadekoBot.Config.CurrencySign} for rolling above 90."; - await FlowersHandler.AddFlowersAsync(e.User, "Betroll Gamble", amount * 3, true).ConfigureAwait(false); - } - else - { - str += $"👑 Congratulations! You won {amount * 10}{NadekoBot.Config.CurrencySign} for rolling **100**. 👑"; - await FlowersHandler.AddFlowersAsync(e.User, "Betroll Gamble", amount * 10, true).ConfigureAwait(false); - } - - await channel.SendMessageAsync(str).ConfigureAwait(false); - - }); - - cgb.CreateCommand(Prefix + "leaderboard") - .Alias(Prefix + "lb") - .Description($"Displays bot currency leaderboard | `{Prefix}lb`") - .Do(async e => - { - var richestTemp = DbHandler.Instance.GetTopRichest(); - var richest = richestTemp as CurrencyState[] ?? richestTemp.ToArray(); - if (richest.Length == 0) - return; - await channel.SendMessageAsync( - richest.Aggregate(new StringBuilder( -$@"```xl -┏━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━┓ -┃ Id ┃ $$$ ┃ -"), - (cur, cs) => cur.AppendLine( -$@"┣━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━┫ -┃{(e.Server.Users.Where(u => u.Id == (ulong)cs.UserId).FirstOrDefault()?.Name.TrimTo(18, true) ?? cs.UserId.ToString()),-20} ┃ {cs.Value,5} ┃") - ).ToString() + "┗━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━┛```").ConfigureAwait(false); - }); - }); - } - - public static long GetUserFlowers(ulong userId) => - Classes.DbHandler.Instance.GetStateByUserId((long)userId)?.Value ?? 0; -} + } } diff --git a/src/NadekoBot/Modules/Games/Commands/PlantAndPickCommands.cs b/src/NadekoBot/Modules/Games/Commands/PlantAndPickCommands.cs index 57ac60c6..75bdf2c0 100644 --- a/src/NadekoBot/Modules/Games/Commands/PlantAndPickCommands.cs +++ b/src/NadekoBot/Modules/Games/Commands/PlantAndPickCommands.cs @@ -79,8 +79,8 @@ // foreach(var msgToDelete in msgs) // await msgToDelete.Delete().ConfigureAwait(false); -// await FlowersHandler.AddFlowersAsync(e.User, "Picked a flower.", 1, true).ConfigureAwait(false); -// var msg = await channel.SendMessageAsync($"**{e.User.Name}** picked a {NadekoBot.Config.CurrencyName}!").ConfigureAwait(false); +// await FlowersHandler.AddFlowersAsync(imsg.Author, "Picked a flower.", 1, true).ConfigureAwait(false); +// var msg = await channel.SendMessageAsync($"**{imsg.Author.Username}** picked a {NadekoBot.Config.CurrencyName}!").ConfigureAwait(false); // ThreadPool.QueueUserWorkItem(async (state) => // { // try @@ -104,7 +104,7 @@ // await channel.SendMessageAsync($"There is already a {NadekoBot.Config.CurrencyName} in this channel.").ConfigureAwait(false); // return; // } -// var removed = await FlowersHandler.RemoveFlowers(e.User, "Planted a flower.", 1, true).ConfigureAwait(false); +// var removed = await FlowersHandler.RemoveFlowers(imsg.Author, "Planted a flower.", 1, true).ConfigureAwait(false); // if (!removed) // { // await channel.SendMessageAsync($"You don't have any {NadekoBot.Config.CurrencyName}s.").ConfigureAwait(false); @@ -118,7 +118,7 @@ // else // msg = await e.Channel.SendFile(file).ConfigureAwait(false); // var vowelFirst = new[] { 'a', 'e', 'i', 'o', 'u' }.Contains(NadekoBot.Config.CurrencyName[0]); -// var msg2 = await channel.SendMessageAsync($"Oh how Nice! **{e.User.Name}** planted {(vowelFirst ? "an" : "a")} {NadekoBot.Config.CurrencyName}. Pick it using {Module.Prefix}pick").ConfigureAwait(false); +// var msg2 = await channel.SendMessageAsync($"Oh how Nice! **{imsg.Author.Username}** planted {(vowelFirst ? "an" : "a")} {NadekoBot.Config.CurrencyName}. Pick it using {Module.Prefix}pick").ConfigureAwait(false); // plantedFlowerChannels.TryAdd(e.Channel.Id, new[] { msg, msg2 }); // } // finally { locker.Release(); } diff --git a/src/NadekoBot/Modules/Games/Commands/SpeedTypingCommands.cs b/src/NadekoBot/Modules/Games/Commands/SpeedTypingCommands.cs index bf533c54..732835e4 100644 --- a/src/NadekoBot/Modules/Games/Commands/SpeedTypingCommands.cs +++ b/src/NadekoBot/Modules/Games/Commands/SpeedTypingCommands.cs @@ -103,16 +103,16 @@ // { // try // { -// if (e.Channel == null || e.Channel.Id != channel.Id || e.User.Id == NadekoBot.Client.CurrentUser.Id) return; +// if (e.Channel == null || e.Channel.Id != channel.Id || imsg.Author.Id == NadekoBot.Client.CurrentUser.Id) return; // var guess = e.Message.RawText; // var distance = CurrentSentence.LevenshteinDistance(guess); // var decision = Judge(distance, guess.Length); -// if (decision && !finishedUserIds.Contains(e.User.Id)) +// if (decision && !finishedUserIds.Contains(imsg.Author.Id)) // { -// finishedUserIds.Add(e.User.Id); -// await channel.Send($"{e.User.Mention} finished in **{sw.Elapsed.Seconds}** seconds with { distance } errors, **{ CurrentSentence.Length / WORD_VALUE / sw.Elapsed.Seconds * 60 }** WPM!").ConfigureAwait(false); +// finishedUserIds.Add(imsg.Author.Id); +// await channel.Send($"{imsg.Author.Mention} finished in **{sw.Elapsed.Seconds}** seconds with { distance } errors, **{ CurrentSentence.Length / WORD_VALUE / sw.Elapsed.Seconds * 60 }** WPM!").ConfigureAwait(false); // if (finishedUserIds.Count % 2 == 0) // { // await channel.SendMessageAsync($":exclamation: `A lot of people finished, here is the text for those still typing:`\n\n:book:**{CurrentSentence}**:book:").ConfigureAwait(false); @@ -139,7 +139,7 @@ // public Func DoFunc() => // async e => // { -// var game = RunningContests.GetOrAdd(e.User.Server.Id, id => new TypingGame(e.Channel)); +// var game = RunningContests.GetOrAdd(imsg.Author.Server.Id, id => new TypingGame(e.Channel)); // if (game.IsActive) // { @@ -158,7 +158,7 @@ // async e => // { // TypingGame game; -// if (RunningContests.TryRemove(e.User.Server.Id, out game)) +// if (RunningContests.TryRemove(imsg.Author.Server.Id, out game)) // { // await game.Stop().ConfigureAwait(false); // return; @@ -181,7 +181,7 @@ // .Parameter("text", ParameterType.Unparsed) // .Do(async e => // { -// if (!NadekoBot.IsOwner(e.User.Id) || string.IsNullOrWhiteSpace(e.GetArg("text"))) return; +// if (!NadekoBot.IsOwner(imsg.Author.Id) || string.IsNullOrWhiteSpace(e.GetArg("text"))) return; // DbHandler.Instance.Connection.Insert(new TypingArticle // { diff --git a/src/NadekoBot/Modules/Searches/Commands/StreamNotificationCommands.cs b/src/NadekoBot/Modules/Searches/Commands/StreamNotificationCommands.cs index f42afdac..62fb82d5 100644 --- a/src/NadekoBot/Modules/Searches/Commands/StreamNotificationCommands.cs +++ b/src/NadekoBot/Modules/Searches/Commands/StreamNotificationCommands.cs @@ -258,7 +258,7 @@ // config.ObservingStreams.Remove(toRemove); // await ConfigHandler.SaveConfig().ConfigureAwait(false); -// await channel.SendMessageAsync($":ok: Removed `{toRemove.Username}`'s stream from notifications.").ConfigureAwait(false); +// await channel.SendMessageAsync($":ok: Removed `{toRemovimsg.Authorname}`'s stream from notifications.").ConfigureAwait(false); // }); // cgb.CreateCommand(Module.Prefix + "liststreams") diff --git a/src/NadekoBot/Modules/Trello/Trello.cs b/src/NadekoBot/Modules/Trello/Trello.cs index 4af06285..b62c9a55 100644 --- a/src/NadekoBot/Modules/Trello/Trello.cs +++ b/src/NadekoBot/Modules/Trello/Trello.cs @@ -75,7 +75,7 @@ // .Parameter("board_id", Discord.Commands.ParameterType.Required) // .Do(async e => // { -// if (!NadekoBot.IsOwner(e.User.Id)) return; +// if (!NadekoBot.IsOwner(imsg.Author.Id)) return; // if (bound != null) return; // try // { @@ -95,7 +95,7 @@ // .Description($"Unbinds a bot from the channel and board. **Bot Owner Only!**| `{Prefix}unbind`") // .Do(async e => // { -// if (!NadekoBot.IsOwner(e.User.Id)) return; +// if (!NadekoBot.IsOwner(imsg.Author.Id)) return; // if (bound == null || bound != e.Channel) return; // t.Stop(); // bound = null; @@ -109,7 +109,7 @@ // .Description($"Lists all lists, yo ;) **Bot Owner Only!**| `{Prefix}list`") // .Do(async e => // { -// if (!NadekoBot.IsOwner(e.User.Id)) return; +// if (!NadekoBot.IsOwner(imsg.Author.Id)) return; // if (bound == null || board == null || bound != e.Channel) return; // await channel.SendMessageAsync("Lists for a board '" + board.Name + "'\n" + string.Join("\n", board.Lists.Select(l => "**• " + l.ToString() + "**"))) // .ConfigureAwait(false); @@ -120,7 +120,7 @@ // .Parameter("list_name", Discord.Commands.ParameterType.Unparsed) // .Do(async e => // { -// if (!NadekoBot.IsOwner(e.User.Id)) return; +// if (!NadekoBot.IsOwner(imsg.Author.Id)) return; // if (bound == null || board == null || bound != e.Channel || e.GetArg("list_name") == null) return; // int num; diff --git a/src/NadekoBot/Modules/Utility/Commands/Remind.cs b/src/NadekoBot/Modules/Utility/Commands/Remind.cs index 4f4bea7f..1dc2433c 100644 --- a/src/NadekoBot/Modules/Utility/Commands/Remind.cs +++ b/src/NadekoBot/Modules/Utility/Commands/Remind.cs @@ -100,7 +100,7 @@ // if (meorchStr == "ME") // { // isPrivate = true; -// ch = await e.User.CreatePMChannel().ConfigureAwait(false); +// ch = await imsg.Author.CreatePMChannel().ConfigureAwait(false); // } // else if (meorchStr == "HERE") // { @@ -113,7 +113,7 @@ // if (ch == null) // { -// await channel.SendMessageAsync($"{e.User.Mention} Something went wrong (channel cannot be found) ;(").ConfigureAwait(false); +// await channel.SendMessageAsync($"{imsg.Author.Mention} Something went wrong (channel cannot be found) ;(").ConfigureAwait(false); // return; // } @@ -168,7 +168,7 @@ // IsPrivate = isPrivate, // When = time, // Message = e.GetArg("message"), -// UserId = (long)e.User.Id, +// UserId = (long)imsg.Author.Id, // ServerId = (long)e.Server.Id // }; // DbHandler.Instance.Connection.Insert(rem); diff --git a/src/NadekoBot/_Modules/CustomReactions/CustomReactions.cs b/src/NadekoBot/_Modules/CustomReactions/CustomReactions.cs index 81a59f2f..d7c6008d 100644 --- a/src/NadekoBot/_Modules/CustomReactions/CustomReactions.cs +++ b/src/NadekoBot/_Modules/CustomReactions/CustomReactions.cs @@ -31,7 +31,7 @@ namespace NadekoBot.Modules.CustomReactions }else return rng.Next().ToString(); } }, {new Regex("%mention%"), (e,m) => NadekoBot.BotMention }, - {new Regex("%user%"), (e,m) => e.User.Mention }, + {new Regex("%user%"), (e,m) => imsg.Author.Mention }, {new Regex("%target%"), (e,m) => e.GetArg("args")?.Trim() ?? "" }, }; diff --git a/src/NadekoBot/_Modules/Music/MusicModule.cs b/src/NadekoBot/_Modules/Music/MusicModule.cs index e89094d2..77565411 100644 --- a/src/NadekoBot/_Modules/Music/MusicModule.cs +++ b/src/NadekoBot/_Modules/Music/MusicModule.cs @@ -51,7 +51,7 @@ namespace NadekoBot.Modules.Music { MusicPlayer musicPlayer; if (!MusicPlayers.TryGetValue(e.Server, out musicPlayer)) return; - if (musicPlayer.PlaybackVoiceChannel == e.User.VoiceChannel) + if (musicPlayer.PlaybackVoiceChannel == imsg.Author.VoiceChannel) musicPlayer.Next(); }); @@ -62,7 +62,7 @@ namespace NadekoBot.Modules.Music { MusicPlayer musicPlayer; if (!MusicPlayers.TryGetValue(e.Server, out musicPlayer)) return; - if (e.User.VoiceChannel == musicPlayer.PlaybackVoiceChannel) + if (imsg.Author.VoiceChannel == musicPlayer.PlaybackVoiceChannel) { musicPlayer.Autoplay = false; musicPlayer.Stop(); @@ -77,7 +77,7 @@ namespace NadekoBot.Modules.Music { MusicPlayer musicPlayer; if (!MusicPlayers.TryRemove(e.Server, out musicPlayer)) return; - if (e.User.VoiceChannel == musicPlayer.PlaybackVoiceChannel) + if (imsg.Author.VoiceChannel == musicPlayer.PlaybackVoiceChannel) musicPlayer.Destroy(); }); @@ -88,7 +88,7 @@ namespace NadekoBot.Modules.Music { MusicPlayer musicPlayer; if (!MusicPlayers.TryGetValue(e.Server, out musicPlayer)) return; - if (e.User.VoiceChannel != musicPlayer.PlaybackVoiceChannel) + if (imsg.Author.VoiceChannel != musicPlayer.PlaybackVoiceChannel) return; musicPlayer.TogglePause(); if (musicPlayer.Paused) @@ -105,7 +105,7 @@ namespace NadekoBot.Modules.Music .Parameter("query", ParameterType.Unparsed) .Do(async e => { - await QueueSong(e.User, e.Channel, e.User.VoiceChannel, e.GetArg("query")).ConfigureAwait(false); + await QueueSong(imsg.Author, e.Channel, imsg.Author.VoiceChannel, e.GetArg("query")).ConfigureAwait(false); if (e.Server.CurrentUser.GetPermissions(e.Channel).ManageMessages) { await Task.Delay(10000).ConfigureAwait(false); @@ -120,7 +120,7 @@ namespace NadekoBot.Modules.Music .Parameter("query", ParameterType.Unparsed) .Do(async e => { - await QueueSong(e.User, e.Channel, e.User.VoiceChannel, e.GetArg("query"), musicType: MusicType.Soundcloud).ConfigureAwait(false); + await QueueSong(imsg.Author, e.Channel, imsg.Author.VoiceChannel, e.GetArg("query"), musicType: MusicType.Soundcloud).ConfigureAwait(false); if (e.Server.CurrentUser.GetPermissions(e.Channel).ManageMessages) { await Task.Delay(10000).ConfigureAwait(false); @@ -190,7 +190,7 @@ namespace NadekoBot.Modules.Music MusicPlayer musicPlayer; if (!MusicPlayers.TryGetValue(e.Server, out musicPlayer)) return; - if (e.User.VoiceChannel != musicPlayer.PlaybackVoiceChannel) + if (imsg.Author.VoiceChannel != musicPlayer.PlaybackVoiceChannel) return; var arg = e.GetArg("val"); int volume; @@ -230,7 +230,7 @@ namespace NadekoBot.Modules.Music MusicPlayer musicPlayer; if (!MusicPlayers.TryGetValue(e.Server, out musicPlayer)) return; - if (e.User.VoiceChannel != musicPlayer.PlaybackVoiceChannel) + if (imsg.Author.VoiceChannel != musicPlayer.PlaybackVoiceChannel) return; musicPlayer.SetVolume(0); }); @@ -242,7 +242,7 @@ namespace NadekoBot.Modules.Music MusicPlayer musicPlayer; if (!MusicPlayers.TryGetValue(e.Server, out musicPlayer)) return; - if (e.User.VoiceChannel != musicPlayer.PlaybackVoiceChannel) + if (imsg.Author.VoiceChannel != musicPlayer.PlaybackVoiceChannel) return; musicPlayer.SetVolume(100); }); @@ -254,7 +254,7 @@ namespace NadekoBot.Modules.Music MusicPlayer musicPlayer; if (!MusicPlayers.TryGetValue(e.Server, out musicPlayer)) return; - if (e.User.VoiceChannel != musicPlayer.PlaybackVoiceChannel) + if (imsg.Author.VoiceChannel != musicPlayer.PlaybackVoiceChannel) return; musicPlayer.SetVolume(50); }); @@ -267,7 +267,7 @@ namespace NadekoBot.Modules.Music MusicPlayer musicPlayer; if (!MusicPlayers.TryGetValue(e.Server, out musicPlayer)) return; - if (e.User.VoiceChannel != musicPlayer.PlaybackVoiceChannel) + if (imsg.Author.VoiceChannel != musicPlayer.PlaybackVoiceChannel) return; if (musicPlayer.Playlist.Count < 2) { @@ -288,7 +288,7 @@ namespace NadekoBot.Modules.Music var arg = e.GetArg("playlist"); if (string.IsNullOrWhiteSpace(arg)) return; - if (e.User.VoiceChannel?.Server != e.Server) + if (imsg.Author.VoiceChannel?.Server != e.Server) { await channel.SendMessageAsync("💢 You need to be in a voice channel on this server.\n If you are already in a voice channel, try rejoining it.").ConfigureAwait(false); return; @@ -313,7 +313,7 @@ namespace NadekoBot.Modules.Music { try { - await QueueSong(e.User, e.Channel, e.User.VoiceChannel, id, true).ConfigureAwait(false); + await QueueSong(imsg.Author, e.Channel, imsg.Author.VoiceChannel, id, true).ConfigureAwait(false); } catch (PlaylistFullException) { break; } @@ -334,7 +334,7 @@ namespace NadekoBot.Modules.Music return; var scvids = JObject.Parse(await http.GetStringAsync($"http://api.soundcloud.com/resolve?url={pl}&client_id={NadekoBot.Creds.SoundCloudClientID}").ConfigureAwait(false))["tracks"].ToObject(); - await QueueSong(e.User, e.Channel, e.User.VoiceChannel, scvids[0].TrackLink).ConfigureAwait(false); + await QueueSong(imsg.Author, e.Channel, imsg.Author.VoiceChannel, scvids[0].TrackLink).ConfigureAwait(false); MusicPlayer mp; if (!MusicPlayers.TryGetValue(e.Server, out mp)) @@ -351,7 +351,7 @@ namespace NadekoBot.Modules.Music Uri = svideo.StreamLink, ProviderType = MusicType.Normal, Query = svideo.TrackLink, - }), e.User.Name); + }), imsg.Author.Username); } catch (PlaylistFullException) { break; } } @@ -375,7 +375,7 @@ namespace NadekoBot.Modules.Music { try { - await QueueSong(e.User, e.Channel, e.User.VoiceChannel, file.FullName, true, MusicType.Local).ConfigureAwait(false); + await QueueSong(imsg.Author, e.Channel, imsg.Author.VoiceChannel, file.FullName, true, MusicType.Local).ConfigureAwait(false); } catch (PlaylistFullException) { @@ -393,12 +393,12 @@ namespace NadekoBot.Modules.Music .Parameter("radio_link", ParameterType.Required) .Do(async e => { - if (e.User.VoiceChannel?.Server != e.Server) + if (imsg.Author.VoiceChannel?.Server != e.Server) { await channel.SendMessageAsync("💢 You need to be in a voice channel on this server.\n If you are already in a voice channel, try rejoining it.").ConfigureAwait(false); return; } - await QueueSong(e.User, e.Channel, e.User.VoiceChannel, e.GetArg("radio_link"), musicType: MusicType.Radio).ConfigureAwait(false); + await QueueSong(imsg.Author, e.Channel, imsg.Author.VoiceChannel, e.GetArg("radio_link"), musicType: MusicType.Radio).ConfigureAwait(false); if (e.Server.CurrentUser.GetPermissions(e.Channel).ManageMessages) { await Task.Delay(10000).ConfigureAwait(false); @@ -416,7 +416,7 @@ namespace NadekoBot.Modules.Music var arg = e.GetArg("path"); if (string.IsNullOrWhiteSpace(arg)) return; - await QueueSong(e.User, e.Channel, e.User.VoiceChannel, e.GetArg("path"), musicType: MusicType.Local).ConfigureAwait(false); + await QueueSong(imsg.Author, e.Channel, imsg.Author.VoiceChannel, e.GetArg("path"), musicType: MusicType.Local).ConfigureAwait(false); }); cgb.CreateCommand(Prefix + "move") @@ -425,7 +425,7 @@ namespace NadekoBot.Modules.Music .Do(e => { MusicPlayer musicPlayer; - var voiceChannel = e.User.VoiceChannel; + var voiceChannel = imsg.Author.VoiceChannel; if (voiceChannel == null || voiceChannel.Server != e.Server || !MusicPlayers.TryGetValue(e.Server, out musicPlayer)) return; musicPlayer.MoveToVoiceChannel(voiceChannel); @@ -443,7 +443,7 @@ namespace NadekoBot.Modules.Music { return; } - if (e.User.VoiceChannel != musicPlayer.PlaybackVoiceChannel) + if (imsg.Author.VoiceChannel != musicPlayer.PlaybackVoiceChannel) return; if (arg?.ToLower() == "all") { @@ -608,8 +608,8 @@ namespace NadekoBot.Modules.Music var playlist = new MusicPlaylist { - CreatorId = (long)e.User.Id, - CreatorName = e.User.Name, + CreatorId = (long)imsg.Author.Id, + CreatorName = imsg.Author.Username, Name = name.ToLowerInvariant(), }; DbHandler.Instance.SaveAll(songInfos); @@ -629,7 +629,7 @@ namespace NadekoBot.Modules.Music .Parameter("name", ParameterType.Unparsed) .Do(async e => { - var voiceCh = e.User.VoiceChannel; + var voiceCh = imsg.Author.VoiceChannel; var textCh = e.Channel; if (voiceCh == null || voiceCh.Server != textCh.Server) { @@ -670,7 +670,7 @@ namespace NadekoBot.Modules.Music { try { - await QueueSong(e.User, textCh, voiceCh, si.Query, true, (MusicType)si.ProviderType).ConfigureAwait(false); + await QueueSong(imsg.Author, textCh, voiceCh, si.Query, true, (MusicType)si.ProviderType).ConfigureAwait(false); } catch (PlaylistFullException) { @@ -710,10 +710,10 @@ namespace NadekoBot.Modules.Music if (string.IsNullOrWhiteSpace(pl)) return; var plnum = int.Parse(pl); - if (NadekoBot.IsOwner(e.User.Id)) + if (NadekoBot.IsOwner(imsg.Author.Id)) DbHandler.Instance.Delete(plnum); else - DbHandler.Instance.DeleteWhere(mp => mp.Id == plnum && (long)e.User.Id == mp.CreatorId); + DbHandler.Instance.DeleteWhere(mp => mp.Id == plnum && (long)imsg.Author.Id == mp.CreatorId); await channel.SendMessageAsync("`Ok.` :ok:").ConfigureAwait(false); }); @@ -726,7 +726,7 @@ namespace NadekoBot.Modules.Music MusicPlayer musicPlayer; if (!MusicPlayers.TryGetValue(e.Server, out musicPlayer)) return; - if (e.User.VoiceChannel != musicPlayer.PlaybackVoiceChannel) + if (imsg.Author.VoiceChannel != musicPlayer.PlaybackVoiceChannel) return; int skipTo; if (!int.TryParse(skipToStr, out skipTo) || skipTo < 0) diff --git a/src/NadekoBot/_Modules/Permissions/Classes/PermissionChecker.cs b/src/NadekoBot/_Modules/Permissions/Classes/PermissionChecker.cs index 0c6aa79b..7770af4a 100644 --- a/src/NadekoBot/_Modules/Permissions/Classes/PermissionChecker.cs +++ b/src/NadekoBot/_Modules/Permissions/Classes/PermissionChecker.cs @@ -119,10 +119,10 @@ namespace NadekoBot.Modules.Permissions.Classes case PermissionsHandler.PermissionBanType.RoleBanModule: msg = $"You do not have a **role** which permits you the usage of **{command.Category}** module."; break; - case PermissionsHandler.PermissionBanType.UserBanCommand: + case PermissionsHandler.PermissionBanTypimsg.AuthorBanCommand: msg = $"{user.Mention}, You have been banned from using **{command.Text}** command."; break; - case PermissionsHandler.PermissionBanType.UserBanModule: + case PermissionsHandler.PermissionBanTypimsg.AuthorBanModule: msg = $"{user.Mention}, You have been banned from using **{command.Category}** module."; break; default: diff --git a/src/NadekoBot/_Modules/Permissions/Classes/PermissionsHandler.cs b/src/NadekoBot/_Modules/Permissions/Classes/PermissionsHandler.cs index d7c9e784..ed5b1b58 100644 --- a/src/NadekoBot/_Modules/Permissions/Classes/PermissionsHandler.cs +++ b/src/NadekoBot/_Modules/Permissions/Classes/PermissionsHandler.cs @@ -142,10 +142,10 @@ namespace NadekoBot.Modules.Permissions.Classes //user if (serverPerms.UserPermissions.TryGetValue(user.Id, out perm) && perm.Modules.TryGetValue(command.Category, out val) && val == false) - return PermissionBanType.UserBanModule; + return PermissionBanTypimsg.AuthorBanModule; if (serverPerms.UserPermissions.TryGetValue(user.Id, out perm) && perm.Commands.TryGetValue(command.Text, out val) && val == false) - return PermissionBanType.UserBanCommand; + return PermissionBanTypimsg.AuthorBanCommand; return PermissionBanType.None; } diff --git a/src/NadekoBot/_Modules/Permissions/PermissionsModule.cs b/src/NadekoBot/_Modules/Permissions/PermissionsModule.cs index de616d1c..37374687 100644 --- a/src/NadekoBot/_Modules/Permissions/PermissionsModule.cs +++ b/src/NadekoBot/_Modules/Permissions/PermissionsModule.cs @@ -224,7 +224,7 @@ namespace NadekoBot.Modules.Permissions .Parameter("user", ParameterType.Unparsed) .Do(async e => { - var user = e.User; + var user = imsg.Author; if (!string.IsNullOrWhiteSpace(e.GetArg("user"))) try {