Some replacements, main gambling file done
This commit is contained in:
parent
68454a7b2f
commit
43c9e7d04d
@ -238,13 +238,13 @@ namespace NadekoBot
|
|||||||
{er.Exception}
|
{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
|
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 { }
|
catch { }
|
||||||
@ -253,7 +253,7 @@ namespace NadekoBot
|
|||||||
private async void StatsCollector_RanCommand(object sender, CommandEventArgs e)
|
private async void StatsCollector_RanCommand(object sender, CommandEventArgs e)
|
||||||
{
|
{
|
||||||
commandTracker.TryAdd(e.Message.Id, DateTime.UtcNow);
|
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
|
#if !NADEKO_RELEASE
|
||||||
await Task.Run(() =>
|
await Task.Run(() =>
|
||||||
{
|
{
|
||||||
@ -266,8 +266,8 @@ namespace NadekoBot
|
|||||||
ServerName = e.Server?.Name ?? "--Direct Message--",
|
ServerName = e.Server?.Name ?? "--Direct Message--",
|
||||||
ChannelId = (long)e.Channel.Id,
|
ChannelId = (long)e.Channel.Id,
|
||||||
ChannelName = e.Channel.IsPrivate ? "--Direct Message" : e.Channel.Name,
|
ChannelName = e.Channel.IsPrivate ? "--Direct Message" : e.Channel.Name,
|
||||||
UserId = (long)e.User.Id,
|
UserId = (long)imsg.Author.Id,
|
||||||
UserName = e.User.Name,
|
UserName = imsg.Author.Username,
|
||||||
CommandName = e.Command.Text,
|
CommandName = e.Command.Text,
|
||||||
DateAdded = DateTime.Now
|
DateAdded = DateTime.Now
|
||||||
});
|
});
|
||||||
|
@ -23,7 +23,7 @@ namespace NadekoBot.Modules.Administration.Commands
|
|||||||
//if (role == null)
|
//if (role == null)
|
||||||
// return;
|
// return;
|
||||||
|
|
||||||
//e.User.AddRoles(role);
|
//imsg.Author.AddRoles(role);
|
||||||
return Task.CompletedTask;
|
return Task.CompletedTask;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
// {
|
// {
|
||||||
// try
|
// try
|
||||||
// {
|
// {
|
||||||
// if (e.User.Id == NadekoBot.Client.CurrentUser.Id) return;
|
// if (imsg.Author.Id == NadekoBot.Client.CurrentUser.Id) return;
|
||||||
// foreach (var subscriber in Subscribers)
|
// foreach (var subscriber in Subscribers)
|
||||||
// {
|
// {
|
||||||
// var set = subscriber.Value;
|
// var set = subscriber.Value;
|
||||||
@ -26,7 +26,7 @@
|
|||||||
// continue;
|
// continue;
|
||||||
// foreach (var chan in set.Except(new[] { e.Channel }))
|
// 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
|
// var msg = chan.Messages
|
||||||
// .FirstOrDefault(m =>
|
// .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))
|
// 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))
|
// if (Subscribers.TryAdd(token, set))
|
||||||
// {
|
// {
|
||||||
// set.Add(e.Channel);
|
// 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);
|
||||||
// }
|
// }
|
||||||
// });
|
// });
|
||||||
|
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
// var incs = DbHandler.Instance.FindAll<Incident>(i => i.ServerId == sid && i.Read == false);
|
// var incs = DbHandler.Instance.FindAll<Incident>(i => i.ServerId == sid && i.Read == false);
|
||||||
// DbHandler.Instance.Connection.UpdateAll(incs.Select(i => { i.Read = true; return i; }));
|
// 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")
|
// cgb.CreateCommand(Module.Prefix + "listallincidents")
|
||||||
@ -41,7 +41,7 @@
|
|||||||
// sw.WriteLine(data);
|
// sw.WriteLine(data);
|
||||||
// sw.Flush();
|
// sw.Flush();
|
||||||
// sw.BaseStream.Position = 0;
|
// sw.BaseStream.Position = 0;
|
||||||
// await e.User.SendFile("incidents.txt", sw.BaseStream);
|
// await imsg.Author.SendFile("incidents.txt", sw.BaseStream);
|
||||||
// });
|
// });
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
|
@ -36,17 +36,17 @@
|
|||||||
|
|
||||||
// NadekoBot.Client.MessageReceived += async (s, e) =>
|
// 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;
|
// return;
|
||||||
// if (!SpecificConfigurations.Default.Of(e.Server.Id).SendPrivateMessageOnMention) return;
|
// if (!SpecificConfigurations.Default.Of(e.Server.Id).SendPrivateMessageOnMention) return;
|
||||||
// try
|
// 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)
|
// if (usr?.Status != UserStatus.Offline)
|
||||||
// return;
|
// return;
|
||||||
// await channel.SendMessageAsync($"User `{usr.Name}` is offline. PM sent.").ConfigureAwait(false);
|
// await channel.SendMessageAsync($"User `{usr.Name}` is offline. PM sent.").ConfigureAwait(false);
|
||||||
// await usr.SendMessage(
|
// 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" +
|
// $"`{e.Server.Name}` server while you were offline.\n" +
|
||||||
// $"`Message:` {e.Message.Text}").ConfigureAwait(false);
|
// $"`Message:` {e.Message.Text}").ConfigureAwait(false);
|
||||||
// }
|
// }
|
||||||
@ -148,7 +148,7 @@
|
|||||||
// Channel ch;
|
// Channel ch;
|
||||||
// if ((ch = e.Server.TextChannels.Where(tc => tc.Id == chId).FirstOrDefault()) == null)
|
// if ((ch = e.Server.TextChannels.Where(tc => tc.Id == chId).FirstOrDefault()) == null)
|
||||||
// return;
|
// 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 { }
|
// catch { }
|
||||||
// }
|
// }
|
||||||
@ -163,7 +163,7 @@
|
|||||||
// Channel ch;
|
// Channel ch;
|
||||||
// if ((ch = e.Server.TextChannels.Where(tc => tc.Id == chId).FirstOrDefault()) == null)
|
// if ((ch = e.Server.TextChannels.Where(tc => tc.Id == chId).FirstOrDefault()) == null)
|
||||||
// return;
|
// 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 { }
|
// catch { }
|
||||||
// }
|
// }
|
||||||
@ -178,7 +178,7 @@
|
|||||||
// Channel ch;
|
// Channel ch;
|
||||||
// if ((ch = e.Server.TextChannels.Where(tc => tc.Id == chId).FirstOrDefault()) == null)
|
// if ((ch = e.Server.TextChannels.Where(tc => tc.Id == chId).FirstOrDefault()) == null)
|
||||||
// return;
|
// 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 { }
|
// catch { }
|
||||||
// }
|
// }
|
||||||
@ -193,7 +193,7 @@
|
|||||||
// Channel ch;
|
// Channel ch;
|
||||||
// if ((ch = e.Server.TextChannels.Where(tc => tc.Id == chId).FirstOrDefault()) == null)
|
// if ((ch = e.Server.TextChannels.Where(tc => tc.Id == chId).FirstOrDefault()) == null)
|
||||||
// return;
|
// 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 { }
|
// catch { }
|
||||||
// }
|
// }
|
||||||
@ -202,7 +202,7 @@
|
|||||||
// {
|
// {
|
||||||
// try
|
// 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;
|
// return;
|
||||||
// var config = SpecificConfigurations.Default.Of(e.Server.Id);
|
// var config = SpecificConfigurations.Default.Of(e.Server.Id);
|
||||||
// var chId = config.LogServerChannel;
|
// var chId = config.LogServerChannel;
|
||||||
@ -215,13 +215,13 @@
|
|||||||
// {
|
// {
|
||||||
// await ch.SendMessage(
|
// await ch.SendMessage(
|
||||||
// $@"🕔`{prettyCurrentTime}` **New Message** `#{e.Channel.Name}`
|
// $@"🕔`{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
|
// else
|
||||||
// {
|
// {
|
||||||
// await ch.SendMessage(
|
// await ch.SendMessage(
|
||||||
// $@"🕔`{prettyCurrentTime}` **File Uploaded** `#{e.Channel.Name}`
|
// $@"🕔`{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
|
// 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;
|
// return;
|
||||||
// var config = SpecificConfigurations.Default.Of(e.Server.Id);
|
// var config = SpecificConfigurations.Default.Of(e.Server.Id);
|
||||||
// var chId = config.LogServerChannel;
|
// var chId = config.LogServerChannel;
|
||||||
@ -244,13 +244,13 @@
|
|||||||
// {
|
// {
|
||||||
// await ch.SendMessage(
|
// await ch.SendMessage(
|
||||||
// $@"🕔`{prettyCurrentTime}` **Message** 🚮 `#{e.Channel.Name}`
|
// $@"🕔`{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
|
// else
|
||||||
// {
|
// {
|
||||||
// await ch.SendMessage(
|
// await ch.SendMessage(
|
||||||
// $@"🕔`{prettyCurrentTime}` **File Deleted** `#{e.Channel.Name}`
|
// $@"🕔`{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 { }
|
// catch { }
|
||||||
@ -259,7 +259,7 @@
|
|||||||
// {
|
// {
|
||||||
// try
|
// 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;
|
// return;
|
||||||
// var config = SpecificConfigurations.Default.Of(e.Server.Id);
|
// var config = SpecificConfigurations.Default.Of(e.Server.Id);
|
||||||
// var chId = config.LogServerChannel;
|
// var chId = config.LogServerChannel;
|
||||||
@ -270,7 +270,7 @@
|
|||||||
// return;
|
// return;
|
||||||
// await ch.SendMessage(
|
// await ch.SendMessage(
|
||||||
// $@"🕔`{prettyCurrentTime}` **Message** 📝 `#{e.Channel.Name}`
|
// $@"🕔`{prettyCurrentTime}` **Message** 📝 `#{e.Channel.Name}`
|
||||||
//👤`{e.User?.ToString() ?? ("NULL")}`
|
//👤`{imsg.Author?.ToString() ?? ("NULL")}`
|
||||||
// `Old:` {e.Before.Text.Unmention()}
|
// `Old:` {e.Before.Text.Unmention()}
|
||||||
// `New:` {e.After.Text.Unmention()}").ConfigureAwait(false);
|
// `New:` {e.After.Text.Unmention()}").ConfigureAwait(false);
|
||||||
// }
|
// }
|
||||||
@ -466,19 +466,19 @@
|
|||||||
// return;
|
// 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);
|
// await channel.SendMessageAsync("💢 You are not in a voice channel right now. If you are, please rejoin it.").ConfigureAwait(false);
|
||||||
// return;
|
// return;
|
||||||
// }
|
// }
|
||||||
// ulong throwaway;
|
// 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);
|
// config.VoiceChannelLog.TryAdd(imsg.Author.VoiceChannel.Id, e.Channel.Id);
|
||||||
// await channel.SendMessageAsync($"`Logging user updates for` {e.User.VoiceChannel.Mention} `voice channel.`").ConfigureAwait(false);
|
// await channel.SendMessageAsync($"`Logging user updates for` {imsg.Author.VoiceChannel.Mention} `voice channel.`").ConfigureAwait(false);
|
||||||
// }
|
// }
|
||||||
// else
|
// 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);
|
||||||
// });
|
// });
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
|
@ -131,12 +131,12 @@
|
|||||||
// await channel.SendMessageAsync(":anger:That role is not self-assignable.").ConfigureAwait(false);
|
// await channel.SendMessageAsync(":anger:That role is not self-assignable.").ConfigureAwait(false);
|
||||||
// return;
|
// return;
|
||||||
// }
|
// }
|
||||||
// if (e.User.HasRole(role))
|
// if (imsg.Author.HasRole(role))
|
||||||
// {
|
// {
|
||||||
// await channel.SendMessageAsync($":anger:You already have {role.Name} role.").ConfigureAwait(false);
|
// await channel.SendMessageAsync($":anger:You already have {role.Name} role.").ConfigureAwait(false);
|
||||||
// return;
|
// 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())
|
// if (config.ExclusiveSelfAssignedRoles && sameRoles.Any())
|
||||||
// {
|
// {
|
||||||
// await channel.SendMessageAsync($":anger:You already have {sameRoles.FirstOrDefault().Name} role.").ConfigureAwait(false);
|
// await channel.SendMessageAsync($":anger:You already have {sameRoles.FirstOrDefault().Name} role.").ConfigureAwait(false);
|
||||||
@ -144,7 +144,7 @@
|
|||||||
// }
|
// }
|
||||||
// try
|
// 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)
|
// 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);
|
// await channel.SendMessageAsync(":anger:That role is not self-assignable.").ConfigureAwait(false);
|
||||||
// return;
|
// return;
|
||||||
// }
|
// }
|
||||||
// if (!e.User.HasRole(role))
|
// if (!imsg.Author.HasRole(role))
|
||||||
// {
|
// {
|
||||||
// await channel.SendMessageAsync($":anger:You don't have {role.Name} role.").ConfigureAwait(false);
|
// await channel.SendMessageAsync($":anger:You don't have {role.Name} role.").ConfigureAwait(false);
|
||||||
// return;
|
// 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);
|
// var msg = await channel.SendMessageAsync($":ok:Successfuly removed {role.Name} role from you.").ConfigureAwait(false);
|
||||||
// await Task.Delay(3000).ConfigureAwait(false);
|
// await Task.Delay(3000).ConfigureAwait(false);
|
||||||
// await msg.Delete().ConfigureAwait(false);
|
// await msg.Delete().ConfigureAwait(false);
|
||||||
|
@ -39,7 +39,7 @@
|
|||||||
|
|
||||||
// var controls = AnnouncementsDictionary[e.Server.Id];
|
// var controls = AnnouncementsDictionary[e.Server.Id];
|
||||||
// var channel = NadekoBot.Client.GetChannel(controls.ByeChannel);
|
// 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))
|
// if (string.IsNullOrEmpty(msg))
|
||||||
// return;
|
// return;
|
||||||
|
|
||||||
@ -48,7 +48,7 @@
|
|||||||
// Greeted++;
|
// Greeted++;
|
||||||
// try
|
// 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 { }
|
// catch { }
|
||||||
@ -78,13 +78,13 @@
|
|||||||
// var controls = AnnouncementsDictionary[e.Server.Id];
|
// var controls = AnnouncementsDictionary[e.Server.Id];
|
||||||
// var channel = NadekoBot.Client.GetChannel(controls.GreetChannel);
|
// 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))
|
// if (string.IsNullOrEmpty(msg))
|
||||||
// return;
|
// return;
|
||||||
// if (controls.GreetPM)
|
// if (controls.GreetPM)
|
||||||
// {
|
// {
|
||||||
// Greeted++;
|
// 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
|
// else
|
||||||
// {
|
// {
|
||||||
@ -211,7 +211,7 @@
|
|||||||
// .Description($"Toggles automatic deletion of greet and bye messages. **Needs Manage Server Permissions.**| `{Prefix}grdel`")
|
// .Description($"Toggles automatic deletion of greet and bye messages. **Needs Manage Server Permissions.**| `{Prefix}grdel`")
|
||||||
// .Do(async e =>
|
// .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));
|
// var ann = AnnouncementsDictionary.GetOrAdd(e.Server.Id, new AnnounceControls(e.Server.Id));
|
||||||
|
|
||||||
// if (ann.ToggleDelete())
|
// 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`")
|
// .Description($"Toggles anouncements on the current channel when someone joins the server. **Needs Manage Server Permissions.**| `{Prefix}greet`")
|
||||||
// .Do(async e =>
|
// .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));
|
// var ann = AnnouncementsDictionary.GetOrAdd(e.Server.Id, new AnnounceControls(e.Server.Id));
|
||||||
|
|
||||||
// if (ann.ToggleGreet(e.Channel.Id))
|
// if (ann.ToggleGreet(e.Channel.Id))
|
||||||
@ -238,7 +238,7 @@
|
|||||||
// .Parameter("msg", ParameterType.Unparsed)
|
// .Parameter("msg", ParameterType.Unparsed)
|
||||||
// .Do(async e =>
|
// .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));
|
// var ann = AnnouncementsDictionary.GetOrAdd(e.Server.Id, new AnnounceControls(e.Server.Id));
|
||||||
// if (string.IsNullOrWhiteSpace(e.GetArg("msg")))
|
// if (string.IsNullOrWhiteSpace(e.GetArg("msg")))
|
||||||
// {
|
// {
|
||||||
@ -257,7 +257,7 @@
|
|||||||
// .Description($"Toggles anouncements on the current channel when someone leaves the server. | `{Prefix}bye`")
|
// .Description($"Toggles anouncements on the current channel when someone leaves the server. | `{Prefix}bye`")
|
||||||
// .Do(async e =>
|
// .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));
|
// var ann = AnnouncementsDictionary.GetOrAdd(e.Server.Id, new AnnounceControls(e.Server.Id));
|
||||||
|
|
||||||
// if (ann.ToggleBye(e.Channel.Id))
|
// if (ann.ToggleBye(e.Channel.Id))
|
||||||
@ -271,7 +271,7 @@
|
|||||||
// .Parameter("msg", ParameterType.Unparsed)
|
// .Parameter("msg", ParameterType.Unparsed)
|
||||||
// .Do(async e =>
|
// .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));
|
// var ann = AnnouncementsDictionary.GetOrAdd(e.Server.Id, new AnnounceControls(e.Server.Id));
|
||||||
// if (string.IsNullOrWhiteSpace(e.GetArg("msg")))
|
// 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`")
|
// .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 =>
|
// .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));
|
// 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`")
|
// .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 =>
|
// .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));
|
// var ann = AnnouncementsDictionary.GetOrAdd(e.Server.Id, new AnnounceControls(e.Server.Id));
|
||||||
|
|
||||||
|
@ -11,7 +11,8 @@ using System.Threading.Tasks;
|
|||||||
|
|
||||||
namespace NadekoBot.Modules.Gambling.Commands
|
namespace NadekoBot.Modules.Gambling.Commands
|
||||||
{
|
{
|
||||||
class AnimalRacing : DiscordCommand
|
[Group]
|
||||||
|
class AnimalRacing
|
||||||
{
|
{
|
||||||
public static ConcurrentDictionary<ulong, AnimalRace> AnimalRaces = new ConcurrentDictionary<ulong, AnimalRace>();
|
public static ConcurrentDictionary<ulong, AnimalRace> AnimalRaces = new ConcurrentDictionary<ulong, AnimalRace>();
|
||||||
|
|
||||||
@ -44,24 +45,24 @@ namespace NadekoBot.Modules.Gambling.Commands
|
|||||||
if (!int.TryParse(e.GetArg("amount"), out amount) || amount < 0)
|
if (!int.TryParse(e.GetArg("amount"), out amount) || amount < 0)
|
||||||
amount = 0;
|
amount = 0;
|
||||||
|
|
||||||
var userFlowers = GamblingModule.GetUserFlowers(e.User.Id);
|
var userFlowers = Gambling.GetUserFlowers(imsg.Author.Id);
|
||||||
|
|
||||||
if (userFlowers < amount)
|
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;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (amount > 0)
|
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;
|
AnimalRace ar;
|
||||||
if (!AnimalRaces.TryGetValue(e.Server.Id, out 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;
|
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 ulong serverId;
|
||||||
private int messagesSinceGameStarted = 0;
|
private int messagesSinceGameStarted = 0;
|
||||||
|
|
||||||
public Channel raceChannel { get; set; }
|
public IGuildChannel raceChannel { get; set; }
|
||||||
public bool Started { get; private set; } = false;
|
public bool Started { get; private set; } = false;
|
||||||
|
|
||||||
public AnimalRace(ulong serverId, Channel ch)
|
public AnimalRace(ulong serverId, Channel ch)
|
||||||
@ -134,7 +135,7 @@ namespace NadekoBot.Modules.Gambling.Commands
|
|||||||
{
|
{
|
||||||
var rng = new Random();
|
var rng = new Random();
|
||||||
Participant winner = null;
|
Participant winner = null;
|
||||||
Message msg = null;
|
IMessage msg = null;
|
||||||
int place = 1;
|
int place = 1;
|
||||||
try
|
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)
|
if (e.Message.IsAuthor || e.Channel.IsPrivate || e.Channel != raceChannel)
|
||||||
return;
|
return;
|
||||||
@ -211,7 +212,7 @@ namespace NadekoBot.Modules.Gambling.Commands
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<bool> JoinRace(User u, int amount = 0)
|
public async Task<bool> JoinRace(IGuildUser u, int amount = 0)
|
||||||
{
|
{
|
||||||
var animal = "";
|
var animal = "";
|
||||||
if (!animals.TryDequeue(out animal))
|
if (!animals.TryDequeue(out animal))
|
||||||
@ -238,7 +239,7 @@ namespace NadekoBot.Modules.Gambling.Commands
|
|||||||
|
|
||||||
public class Participant
|
public class Participant
|
||||||
{
|
{
|
||||||
public User User { get; set; }
|
public IGuildUser User { get; set; }
|
||||||
public string Animal { get; set; }
|
public string Animal { get; set; }
|
||||||
public int AmountBet { get; set; }
|
public int AmountBet { get; set; }
|
||||||
|
|
||||||
@ -247,7 +248,7 @@ namespace NadekoBot.Modules.Gambling.Commands
|
|||||||
|
|
||||||
public int Place { get; set; } = 0;
|
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.User = u;
|
||||||
this.Animal = a;
|
this.Animal = a;
|
||||||
|
@ -151,7 +151,7 @@ namespace NadekoBot.Modules.Gambling
|
|||||||
rolled = new Random().Next(0, int.Parse(e.GetArg("range")) + 1);
|
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)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
|
@ -79,7 +79,7 @@ namespace NadekoBot.Modules.Gambling
|
|||||||
await e.Channel.SendFile(images.Count + " cards.jpg", bitmap.ToStream()).ConfigureAwait(false);
|
await e.Channel.SendFile(images.Count + " cards.jpg", bitmap.ToStream()).ConfigureAwait(false);
|
||||||
if (cardObjects.Count == 5)
|
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)
|
catch (Exception ex)
|
||||||
|
@ -40,7 +40,7 @@ namespace NadekoBot.Modules.Gambling
|
|||||||
//{
|
//{
|
||||||
// var channel = imsg.Channel as ITextChannel;
|
// 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 pts = GetUserFlowers(usr.Id);
|
||||||
// var str = $"{usr.Name} has {pts} {NadekoBot.Config.CurrencySign}";
|
// var str = $"{usr.Name} has {pts} {NadekoBot.Config.CurrencySign}";
|
||||||
// await channel.SendMessageAsync(str).ConfigureAwait(false);
|
// await channel.SendMessageAsync(str).ConfigureAwait(false);
|
||||||
@ -58,14 +58,14 @@ namespace NadekoBot.Modules.Gambling
|
|||||||
|
|
||||||
// if (userFlowers < amount)
|
// 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;
|
// 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 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 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]
|
//[LocalizedCommand, LocalizedDescription, LocalizedSummary]
|
||||||
[RequireContext(ContextType.Guild)]
|
//[RequireContext(ContextType.Guild)]
|
||||||
public async Task Take(IMessage imsg, long amount, [Remainder] IGuildUser ownedPerson)
|
//public async Task Take(IMessage imsg, long amount, [Remainder] ulong usrId)
|
||||||
{
|
//{
|
||||||
var channel = imsg.Channel as ITextChannel;
|
// var channel = imsg.Channel as ITextChannel;
|
||||||
|
// if (amount <= 0)
|
||||||
|
// return;
|
||||||
|
|
||||||
if (amount < 0)
|
// await FlowersHandler.RemoveFlowers(usrId, $"Taken by bot owner.({imsg.Author.Username}/{imsg.Author.Id})", (int)amount).ConfigureAwait(false);
|
||||||
return;
|
|
||||||
|
|
||||||
var mentionedUser = e.Message.MentionedUsers.FirstOrDefault(u =>
|
// await channel.SendMessageAsync($"{imsg.Author.Mention} successfully took {amount} {NadekoBot.Config.CurrencyName}s from <@{usrId}>!").ConfigureAwait(false);
|
||||||
u.Id != NadekoBot.Client.CurrentUser.Id);
|
//}
|
||||||
if (mentionedUser == null)
|
|
||||||
return;
|
|
||||||
|
|
||||||
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;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -79,8 +79,8 @@
|
|||||||
// foreach(var msgToDelete in msgs)
|
// foreach(var msgToDelete in msgs)
|
||||||
// await msgToDelete.Delete().ConfigureAwait(false);
|
// await msgToDelete.Delete().ConfigureAwait(false);
|
||||||
|
|
||||||
// await FlowersHandler.AddFlowersAsync(e.User, "Picked a flower.", 1, true).ConfigureAwait(false);
|
// await FlowersHandler.AddFlowersAsync(imsg.Author, "Picked a flower.", 1, true).ConfigureAwait(false);
|
||||||
// var msg = await channel.SendMessageAsync($"**{e.User.Name}** picked a {NadekoBot.Config.CurrencyName}!").ConfigureAwait(false);
|
// var msg = await channel.SendMessageAsync($"**{imsg.Author.Username}** picked a {NadekoBot.Config.CurrencyName}!").ConfigureAwait(false);
|
||||||
// ThreadPool.QueueUserWorkItem(async (state) =>
|
// ThreadPool.QueueUserWorkItem(async (state) =>
|
||||||
// {
|
// {
|
||||||
// try
|
// try
|
||||||
@ -104,7 +104,7 @@
|
|||||||
// await channel.SendMessageAsync($"There is already a {NadekoBot.Config.CurrencyName} in this channel.").ConfigureAwait(false);
|
// await channel.SendMessageAsync($"There is already a {NadekoBot.Config.CurrencyName} in this channel.").ConfigureAwait(false);
|
||||||
// return;
|
// 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)
|
// if (!removed)
|
||||||
// {
|
// {
|
||||||
// await channel.SendMessageAsync($"You don't have any {NadekoBot.Config.CurrencyName}s.").ConfigureAwait(false);
|
// await channel.SendMessageAsync($"You don't have any {NadekoBot.Config.CurrencyName}s.").ConfigureAwait(false);
|
||||||
@ -118,7 +118,7 @@
|
|||||||
// else
|
// else
|
||||||
// msg = await e.Channel.SendFile(file).ConfigureAwait(false);
|
// msg = await e.Channel.SendFile(file).ConfigureAwait(false);
|
||||||
// var vowelFirst = new[] { 'a', 'e', 'i', 'o', 'u' }.Contains(NadekoBot.Config.CurrencyName[0]);
|
// 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 });
|
// plantedFlowerChannels.TryAdd(e.Channel.Id, new[] { msg, msg2 });
|
||||||
// }
|
// }
|
||||||
// finally { locker.Release(); }
|
// finally { locker.Release(); }
|
||||||
|
@ -103,16 +103,16 @@
|
|||||||
// {
|
// {
|
||||||
// try
|
// 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 guess = e.Message.RawText;
|
||||||
|
|
||||||
// var distance = CurrentSentence.LevenshteinDistance(guess);
|
// var distance = CurrentSentence.LevenshteinDistance(guess);
|
||||||
// var decision = Judge(distance, guess.Length);
|
// 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);
|
// finishedUserIds.Add(imsg.Author.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);
|
// 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)
|
// 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);
|
// 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<CommandEventArgs, Task> DoFunc() =>
|
// public Func<CommandEventArgs, Task> DoFunc() =>
|
||||||
// async e =>
|
// 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)
|
// if (game.IsActive)
|
||||||
// {
|
// {
|
||||||
@ -158,7 +158,7 @@
|
|||||||
// async e =>
|
// async e =>
|
||||||
// {
|
// {
|
||||||
// TypingGame game;
|
// 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);
|
// await game.Stop().ConfigureAwait(false);
|
||||||
// return;
|
// return;
|
||||||
@ -181,7 +181,7 @@
|
|||||||
// .Parameter("text", ParameterType.Unparsed)
|
// .Parameter("text", ParameterType.Unparsed)
|
||||||
// .Do(async e =>
|
// .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
|
// DbHandler.Instance.Connection.Insert(new TypingArticle
|
||||||
// {
|
// {
|
||||||
|
@ -258,7 +258,7 @@
|
|||||||
|
|
||||||
// config.ObservingStreams.Remove(toRemove);
|
// config.ObservingStreams.Remove(toRemove);
|
||||||
// await ConfigHandler.SaveConfig().ConfigureAwait(false);
|
// 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")
|
// cgb.CreateCommand(Module.Prefix + "liststreams")
|
||||||
|
@ -75,7 +75,7 @@
|
|||||||
// .Parameter("board_id", Discord.Commands.ParameterType.Required)
|
// .Parameter("board_id", Discord.Commands.ParameterType.Required)
|
||||||
// .Do(async e =>
|
// .Do(async e =>
|
||||||
// {
|
// {
|
||||||
// if (!NadekoBot.IsOwner(e.User.Id)) return;
|
// if (!NadekoBot.IsOwner(imsg.Author.Id)) return;
|
||||||
// if (bound != null) return;
|
// if (bound != null) return;
|
||||||
// try
|
// try
|
||||||
// {
|
// {
|
||||||
@ -95,7 +95,7 @@
|
|||||||
// .Description($"Unbinds a bot from the channel and board. **Bot Owner Only!**| `{Prefix}unbind`")
|
// .Description($"Unbinds a bot from the channel and board. **Bot Owner Only!**| `{Prefix}unbind`")
|
||||||
// .Do(async e =>
|
// .Do(async e =>
|
||||||
// {
|
// {
|
||||||
// if (!NadekoBot.IsOwner(e.User.Id)) return;
|
// if (!NadekoBot.IsOwner(imsg.Author.Id)) return;
|
||||||
// if (bound == null || bound != e.Channel) return;
|
// if (bound == null || bound != e.Channel) return;
|
||||||
// t.Stop();
|
// t.Stop();
|
||||||
// bound = null;
|
// bound = null;
|
||||||
@ -109,7 +109,7 @@
|
|||||||
// .Description($"Lists all lists, yo ;) **Bot Owner Only!**| `{Prefix}list`")
|
// .Description($"Lists all lists, yo ;) **Bot Owner Only!**| `{Prefix}list`")
|
||||||
// .Do(async e =>
|
// .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;
|
// 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() + "**")))
|
// await channel.SendMessageAsync("Lists for a board '" + board.Name + "'\n" + string.Join("\n", board.Lists.Select(l => "**• " + l.ToString() + "**")))
|
||||||
// .ConfigureAwait(false);
|
// .ConfigureAwait(false);
|
||||||
@ -120,7 +120,7 @@
|
|||||||
// .Parameter("list_name", Discord.Commands.ParameterType.Unparsed)
|
// .Parameter("list_name", Discord.Commands.ParameterType.Unparsed)
|
||||||
// .Do(async e =>
|
// .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;
|
// if (bound == null || board == null || bound != e.Channel || e.GetArg("list_name") == null) return;
|
||||||
|
|
||||||
// int num;
|
// int num;
|
||||||
|
@ -100,7 +100,7 @@
|
|||||||
// if (meorchStr == "ME")
|
// if (meorchStr == "ME")
|
||||||
// {
|
// {
|
||||||
// isPrivate = true;
|
// isPrivate = true;
|
||||||
// ch = await e.User.CreatePMChannel().ConfigureAwait(false);
|
// ch = await imsg.Author.CreatePMChannel().ConfigureAwait(false);
|
||||||
// }
|
// }
|
||||||
// else if (meorchStr == "HERE")
|
// else if (meorchStr == "HERE")
|
||||||
// {
|
// {
|
||||||
@ -113,7 +113,7 @@
|
|||||||
|
|
||||||
// if (ch == null)
|
// 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;
|
// return;
|
||||||
// }
|
// }
|
||||||
|
|
||||||
@ -168,7 +168,7 @@
|
|||||||
// IsPrivate = isPrivate,
|
// IsPrivate = isPrivate,
|
||||||
// When = time,
|
// When = time,
|
||||||
// Message = e.GetArg("message"),
|
// Message = e.GetArg("message"),
|
||||||
// UserId = (long)e.User.Id,
|
// UserId = (long)imsg.Author.Id,
|
||||||
// ServerId = (long)e.Server.Id
|
// ServerId = (long)e.Server.Id
|
||||||
// };
|
// };
|
||||||
// DbHandler.Instance.Connection.Insert(rem);
|
// DbHandler.Instance.Connection.Insert(rem);
|
||||||
|
@ -31,7 +31,7 @@ namespace NadekoBot.Modules.CustomReactions
|
|||||||
}else return rng.Next().ToString();
|
}else return rng.Next().ToString();
|
||||||
} },
|
} },
|
||||||
{new Regex("%mention%"), (e,m) => NadekoBot.BotMention },
|
{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() ?? "" },
|
{new Regex("%target%"), (e,m) => e.GetArg("args")?.Trim() ?? "" },
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -51,7 +51,7 @@ namespace NadekoBot.Modules.Music
|
|||||||
{
|
{
|
||||||
MusicPlayer musicPlayer;
|
MusicPlayer musicPlayer;
|
||||||
if (!MusicPlayers.TryGetValue(e.Server, out musicPlayer)) return;
|
if (!MusicPlayers.TryGetValue(e.Server, out musicPlayer)) return;
|
||||||
if (musicPlayer.PlaybackVoiceChannel == e.User.VoiceChannel)
|
if (musicPlayer.PlaybackVoiceChannel == imsg.Author.VoiceChannel)
|
||||||
musicPlayer.Next();
|
musicPlayer.Next();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -62,7 +62,7 @@ namespace NadekoBot.Modules.Music
|
|||||||
{
|
{
|
||||||
MusicPlayer musicPlayer;
|
MusicPlayer musicPlayer;
|
||||||
if (!MusicPlayers.TryGetValue(e.Server, out musicPlayer)) return;
|
if (!MusicPlayers.TryGetValue(e.Server, out musicPlayer)) return;
|
||||||
if (e.User.VoiceChannel == musicPlayer.PlaybackVoiceChannel)
|
if (imsg.Author.VoiceChannel == musicPlayer.PlaybackVoiceChannel)
|
||||||
{
|
{
|
||||||
musicPlayer.Autoplay = false;
|
musicPlayer.Autoplay = false;
|
||||||
musicPlayer.Stop();
|
musicPlayer.Stop();
|
||||||
@ -77,7 +77,7 @@ namespace NadekoBot.Modules.Music
|
|||||||
{
|
{
|
||||||
MusicPlayer musicPlayer;
|
MusicPlayer musicPlayer;
|
||||||
if (!MusicPlayers.TryRemove(e.Server, out musicPlayer)) return;
|
if (!MusicPlayers.TryRemove(e.Server, out musicPlayer)) return;
|
||||||
if (e.User.VoiceChannel == musicPlayer.PlaybackVoiceChannel)
|
if (imsg.Author.VoiceChannel == musicPlayer.PlaybackVoiceChannel)
|
||||||
musicPlayer.Destroy();
|
musicPlayer.Destroy();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -88,7 +88,7 @@ namespace NadekoBot.Modules.Music
|
|||||||
{
|
{
|
||||||
MusicPlayer musicPlayer;
|
MusicPlayer musicPlayer;
|
||||||
if (!MusicPlayers.TryGetValue(e.Server, out musicPlayer)) return;
|
if (!MusicPlayers.TryGetValue(e.Server, out musicPlayer)) return;
|
||||||
if (e.User.VoiceChannel != musicPlayer.PlaybackVoiceChannel)
|
if (imsg.Author.VoiceChannel != musicPlayer.PlaybackVoiceChannel)
|
||||||
return;
|
return;
|
||||||
musicPlayer.TogglePause();
|
musicPlayer.TogglePause();
|
||||||
if (musicPlayer.Paused)
|
if (musicPlayer.Paused)
|
||||||
@ -105,7 +105,7 @@ namespace NadekoBot.Modules.Music
|
|||||||
.Parameter("query", ParameterType.Unparsed)
|
.Parameter("query", ParameterType.Unparsed)
|
||||||
.Do(async e =>
|
.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)
|
if (e.Server.CurrentUser.GetPermissions(e.Channel).ManageMessages)
|
||||||
{
|
{
|
||||||
await Task.Delay(10000).ConfigureAwait(false);
|
await Task.Delay(10000).ConfigureAwait(false);
|
||||||
@ -120,7 +120,7 @@ namespace NadekoBot.Modules.Music
|
|||||||
.Parameter("query", ParameterType.Unparsed)
|
.Parameter("query", ParameterType.Unparsed)
|
||||||
.Do(async e =>
|
.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)
|
if (e.Server.CurrentUser.GetPermissions(e.Channel).ManageMessages)
|
||||||
{
|
{
|
||||||
await Task.Delay(10000).ConfigureAwait(false);
|
await Task.Delay(10000).ConfigureAwait(false);
|
||||||
@ -190,7 +190,7 @@ namespace NadekoBot.Modules.Music
|
|||||||
MusicPlayer musicPlayer;
|
MusicPlayer musicPlayer;
|
||||||
if (!MusicPlayers.TryGetValue(e.Server, out musicPlayer))
|
if (!MusicPlayers.TryGetValue(e.Server, out musicPlayer))
|
||||||
return;
|
return;
|
||||||
if (e.User.VoiceChannel != musicPlayer.PlaybackVoiceChannel)
|
if (imsg.Author.VoiceChannel != musicPlayer.PlaybackVoiceChannel)
|
||||||
return;
|
return;
|
||||||
var arg = e.GetArg("val");
|
var arg = e.GetArg("val");
|
||||||
int volume;
|
int volume;
|
||||||
@ -230,7 +230,7 @@ namespace NadekoBot.Modules.Music
|
|||||||
MusicPlayer musicPlayer;
|
MusicPlayer musicPlayer;
|
||||||
if (!MusicPlayers.TryGetValue(e.Server, out musicPlayer))
|
if (!MusicPlayers.TryGetValue(e.Server, out musicPlayer))
|
||||||
return;
|
return;
|
||||||
if (e.User.VoiceChannel != musicPlayer.PlaybackVoiceChannel)
|
if (imsg.Author.VoiceChannel != musicPlayer.PlaybackVoiceChannel)
|
||||||
return;
|
return;
|
||||||
musicPlayer.SetVolume(0);
|
musicPlayer.SetVolume(0);
|
||||||
});
|
});
|
||||||
@ -242,7 +242,7 @@ namespace NadekoBot.Modules.Music
|
|||||||
MusicPlayer musicPlayer;
|
MusicPlayer musicPlayer;
|
||||||
if (!MusicPlayers.TryGetValue(e.Server, out musicPlayer))
|
if (!MusicPlayers.TryGetValue(e.Server, out musicPlayer))
|
||||||
return;
|
return;
|
||||||
if (e.User.VoiceChannel != musicPlayer.PlaybackVoiceChannel)
|
if (imsg.Author.VoiceChannel != musicPlayer.PlaybackVoiceChannel)
|
||||||
return;
|
return;
|
||||||
musicPlayer.SetVolume(100);
|
musicPlayer.SetVolume(100);
|
||||||
});
|
});
|
||||||
@ -254,7 +254,7 @@ namespace NadekoBot.Modules.Music
|
|||||||
MusicPlayer musicPlayer;
|
MusicPlayer musicPlayer;
|
||||||
if (!MusicPlayers.TryGetValue(e.Server, out musicPlayer))
|
if (!MusicPlayers.TryGetValue(e.Server, out musicPlayer))
|
||||||
return;
|
return;
|
||||||
if (e.User.VoiceChannel != musicPlayer.PlaybackVoiceChannel)
|
if (imsg.Author.VoiceChannel != musicPlayer.PlaybackVoiceChannel)
|
||||||
return;
|
return;
|
||||||
musicPlayer.SetVolume(50);
|
musicPlayer.SetVolume(50);
|
||||||
});
|
});
|
||||||
@ -267,7 +267,7 @@ namespace NadekoBot.Modules.Music
|
|||||||
MusicPlayer musicPlayer;
|
MusicPlayer musicPlayer;
|
||||||
if (!MusicPlayers.TryGetValue(e.Server, out musicPlayer))
|
if (!MusicPlayers.TryGetValue(e.Server, out musicPlayer))
|
||||||
return;
|
return;
|
||||||
if (e.User.VoiceChannel != musicPlayer.PlaybackVoiceChannel)
|
if (imsg.Author.VoiceChannel != musicPlayer.PlaybackVoiceChannel)
|
||||||
return;
|
return;
|
||||||
if (musicPlayer.Playlist.Count < 2)
|
if (musicPlayer.Playlist.Count < 2)
|
||||||
{
|
{
|
||||||
@ -288,7 +288,7 @@ namespace NadekoBot.Modules.Music
|
|||||||
var arg = e.GetArg("playlist");
|
var arg = e.GetArg("playlist");
|
||||||
if (string.IsNullOrWhiteSpace(arg))
|
if (string.IsNullOrWhiteSpace(arg))
|
||||||
return;
|
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);
|
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;
|
return;
|
||||||
@ -313,7 +313,7 @@ namespace NadekoBot.Modules.Music
|
|||||||
{
|
{
|
||||||
try
|
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)
|
catch (PlaylistFullException)
|
||||||
{ break; }
|
{ break; }
|
||||||
@ -334,7 +334,7 @@ namespace NadekoBot.Modules.Music
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
var scvids = JObject.Parse(await http.GetStringAsync($"http://api.soundcloud.com/resolve?url={pl}&client_id={NadekoBot.Creds.SoundCloudClientID}").ConfigureAwait(false))["tracks"].ToObject<SoundCloudVideo[]>();
|
var scvids = JObject.Parse(await http.GetStringAsync($"http://api.soundcloud.com/resolve?url={pl}&client_id={NadekoBot.Creds.SoundCloudClientID}").ConfigureAwait(false))["tracks"].ToObject<SoundCloudVideo[]>();
|
||||||
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;
|
MusicPlayer mp;
|
||||||
if (!MusicPlayers.TryGetValue(e.Server, out mp))
|
if (!MusicPlayers.TryGetValue(e.Server, out mp))
|
||||||
@ -351,7 +351,7 @@ namespace NadekoBot.Modules.Music
|
|||||||
Uri = svideo.StreamLink,
|
Uri = svideo.StreamLink,
|
||||||
ProviderType = MusicType.Normal,
|
ProviderType = MusicType.Normal,
|
||||||
Query = svideo.TrackLink,
|
Query = svideo.TrackLink,
|
||||||
}), e.User.Name);
|
}), imsg.Author.Username);
|
||||||
}
|
}
|
||||||
catch (PlaylistFullException) { break; }
|
catch (PlaylistFullException) { break; }
|
||||||
}
|
}
|
||||||
@ -375,7 +375,7 @@ namespace NadekoBot.Modules.Music
|
|||||||
{
|
{
|
||||||
try
|
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)
|
catch (PlaylistFullException)
|
||||||
{
|
{
|
||||||
@ -393,12 +393,12 @@ namespace NadekoBot.Modules.Music
|
|||||||
.Parameter("radio_link", ParameterType.Required)
|
.Parameter("radio_link", ParameterType.Required)
|
||||||
.Do(async e =>
|
.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);
|
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;
|
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)
|
if (e.Server.CurrentUser.GetPermissions(e.Channel).ManageMessages)
|
||||||
{
|
{
|
||||||
await Task.Delay(10000).ConfigureAwait(false);
|
await Task.Delay(10000).ConfigureAwait(false);
|
||||||
@ -416,7 +416,7 @@ namespace NadekoBot.Modules.Music
|
|||||||
var arg = e.GetArg("path");
|
var arg = e.GetArg("path");
|
||||||
if (string.IsNullOrWhiteSpace(arg))
|
if (string.IsNullOrWhiteSpace(arg))
|
||||||
return;
|
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")
|
cgb.CreateCommand(Prefix + "move")
|
||||||
@ -425,7 +425,7 @@ namespace NadekoBot.Modules.Music
|
|||||||
.Do(e =>
|
.Do(e =>
|
||||||
{
|
{
|
||||||
MusicPlayer musicPlayer;
|
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))
|
if (voiceChannel == null || voiceChannel.Server != e.Server || !MusicPlayers.TryGetValue(e.Server, out musicPlayer))
|
||||||
return;
|
return;
|
||||||
musicPlayer.MoveToVoiceChannel(voiceChannel);
|
musicPlayer.MoveToVoiceChannel(voiceChannel);
|
||||||
@ -443,7 +443,7 @@ namespace NadekoBot.Modules.Music
|
|||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (e.User.VoiceChannel != musicPlayer.PlaybackVoiceChannel)
|
if (imsg.Author.VoiceChannel != musicPlayer.PlaybackVoiceChannel)
|
||||||
return;
|
return;
|
||||||
if (arg?.ToLower() == "all")
|
if (arg?.ToLower() == "all")
|
||||||
{
|
{
|
||||||
@ -608,8 +608,8 @@ namespace NadekoBot.Modules.Music
|
|||||||
|
|
||||||
var playlist = new MusicPlaylist
|
var playlist = new MusicPlaylist
|
||||||
{
|
{
|
||||||
CreatorId = (long)e.User.Id,
|
CreatorId = (long)imsg.Author.Id,
|
||||||
CreatorName = e.User.Name,
|
CreatorName = imsg.Author.Username,
|
||||||
Name = name.ToLowerInvariant(),
|
Name = name.ToLowerInvariant(),
|
||||||
};
|
};
|
||||||
DbHandler.Instance.SaveAll(songInfos);
|
DbHandler.Instance.SaveAll(songInfos);
|
||||||
@ -629,7 +629,7 @@ namespace NadekoBot.Modules.Music
|
|||||||
.Parameter("name", ParameterType.Unparsed)
|
.Parameter("name", ParameterType.Unparsed)
|
||||||
.Do(async e =>
|
.Do(async e =>
|
||||||
{
|
{
|
||||||
var voiceCh = e.User.VoiceChannel;
|
var voiceCh = imsg.Author.VoiceChannel;
|
||||||
var textCh = e.Channel;
|
var textCh = e.Channel;
|
||||||
if (voiceCh == null || voiceCh.Server != textCh.Server)
|
if (voiceCh == null || voiceCh.Server != textCh.Server)
|
||||||
{
|
{
|
||||||
@ -670,7 +670,7 @@ namespace NadekoBot.Modules.Music
|
|||||||
{
|
{
|
||||||
try
|
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)
|
catch (PlaylistFullException)
|
||||||
{
|
{
|
||||||
@ -710,10 +710,10 @@ namespace NadekoBot.Modules.Music
|
|||||||
if (string.IsNullOrWhiteSpace(pl))
|
if (string.IsNullOrWhiteSpace(pl))
|
||||||
return;
|
return;
|
||||||
var plnum = int.Parse(pl);
|
var plnum = int.Parse(pl);
|
||||||
if (NadekoBot.IsOwner(e.User.Id))
|
if (NadekoBot.IsOwner(imsg.Author.Id))
|
||||||
DbHandler.Instance.Delete<MusicPlaylist>(plnum);
|
DbHandler.Instance.Delete<MusicPlaylist>(plnum);
|
||||||
else
|
else
|
||||||
DbHandler.Instance.DeleteWhere<MusicPlaylist>(mp => mp.Id == plnum && (long)e.User.Id == mp.CreatorId);
|
DbHandler.Instance.DeleteWhere<MusicPlaylist>(mp => mp.Id == plnum && (long)imsg.Author.Id == mp.CreatorId);
|
||||||
await channel.SendMessageAsync("`Ok.` :ok:").ConfigureAwait(false);
|
await channel.SendMessageAsync("`Ok.` :ok:").ConfigureAwait(false);
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -726,7 +726,7 @@ namespace NadekoBot.Modules.Music
|
|||||||
MusicPlayer musicPlayer;
|
MusicPlayer musicPlayer;
|
||||||
if (!MusicPlayers.TryGetValue(e.Server, out musicPlayer))
|
if (!MusicPlayers.TryGetValue(e.Server, out musicPlayer))
|
||||||
return;
|
return;
|
||||||
if (e.User.VoiceChannel != musicPlayer.PlaybackVoiceChannel)
|
if (imsg.Author.VoiceChannel != musicPlayer.PlaybackVoiceChannel)
|
||||||
return;
|
return;
|
||||||
int skipTo;
|
int skipTo;
|
||||||
if (!int.TryParse(skipToStr, out skipTo) || skipTo < 0)
|
if (!int.TryParse(skipToStr, out skipTo) || skipTo < 0)
|
||||||
|
@ -119,10 +119,10 @@ namespace NadekoBot.Modules.Permissions.Classes
|
|||||||
case PermissionsHandler.PermissionBanType.RoleBanModule:
|
case PermissionsHandler.PermissionBanType.RoleBanModule:
|
||||||
msg = $"You do not have a **role** which permits you the usage of **{command.Category}** module.";
|
msg = $"You do not have a **role** which permits you the usage of **{command.Category}** module.";
|
||||||
break;
|
break;
|
||||||
case PermissionsHandler.PermissionBanType.UserBanCommand:
|
case PermissionsHandler.PermissionBanTypimsg.AuthorBanCommand:
|
||||||
msg = $"{user.Mention}, You have been banned from using **{command.Text}** command.";
|
msg = $"{user.Mention}, You have been banned from using **{command.Text}** command.";
|
||||||
break;
|
break;
|
||||||
case PermissionsHandler.PermissionBanType.UserBanModule:
|
case PermissionsHandler.PermissionBanTypimsg.AuthorBanModule:
|
||||||
msg = $"{user.Mention}, You have been banned from using **{command.Category}** module.";
|
msg = $"{user.Mention}, You have been banned from using **{command.Category}** module.";
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@ -142,10 +142,10 @@ namespace NadekoBot.Modules.Permissions.Classes
|
|||||||
//user
|
//user
|
||||||
if (serverPerms.UserPermissions.TryGetValue(user.Id, out perm) &&
|
if (serverPerms.UserPermissions.TryGetValue(user.Id, out perm) &&
|
||||||
perm.Modules.TryGetValue(command.Category, out val) && val == false)
|
perm.Modules.TryGetValue(command.Category, out val) && val == false)
|
||||||
return PermissionBanType.UserBanModule;
|
return PermissionBanTypimsg.AuthorBanModule;
|
||||||
if (serverPerms.UserPermissions.TryGetValue(user.Id, out perm) &&
|
if (serverPerms.UserPermissions.TryGetValue(user.Id, out perm) &&
|
||||||
perm.Commands.TryGetValue(command.Text, out val) && val == false)
|
perm.Commands.TryGetValue(command.Text, out val) && val == false)
|
||||||
return PermissionBanType.UserBanCommand;
|
return PermissionBanTypimsg.AuthorBanCommand;
|
||||||
|
|
||||||
return PermissionBanType.None;
|
return PermissionBanType.None;
|
||||||
}
|
}
|
||||||
|
@ -224,7 +224,7 @@ namespace NadekoBot.Modules.Permissions
|
|||||||
.Parameter("user", ParameterType.Unparsed)
|
.Parameter("user", ParameterType.Unparsed)
|
||||||
.Do(async e =>
|
.Do(async e =>
|
||||||
{
|
{
|
||||||
var user = e.User;
|
var user = imsg.Author;
|
||||||
if (!string.IsNullOrWhiteSpace(e.GetArg("user")))
|
if (!string.IsNullOrWhiteSpace(e.GetArg("user")))
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user