~ani, ~mang, and @nadekobot how are you are the only things that don't work now
This commit is contained in:
@ -17,7 +17,7 @@ using NadekoBot.Commands;
|
||||
namespace NadekoBot.Modules {
|
||||
internal class Conversations : DiscordModule {
|
||||
private string firestr = "🔥 ด้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็ด้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็ด้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็็้้้้ 🔥";
|
||||
public Conversations() {
|
||||
public Conversations() {
|
||||
commands.Add(new CopyCommand());
|
||||
commands.Add(new RequestsCommand());
|
||||
}
|
||||
@ -221,7 +221,8 @@ namespace NadekoBot.Modules {
|
||||
.Do(async e => {
|
||||
var count = 1;
|
||||
int.TryParse(e.Args[0], out count);
|
||||
|
||||
if (count == 0)
|
||||
count = 1;
|
||||
if (count < 1 || count > 12) {
|
||||
await e.Channel.SendMessage("Number must be between 0 and 12");
|
||||
return;
|
||||
@ -257,8 +258,7 @@ namespace NadekoBot.Modules {
|
||||
if (invite != null) {
|
||||
try {
|
||||
await invite.Accept();
|
||||
}
|
||||
catch {
|
||||
} catch {
|
||||
await e.Channel.SendMessage("Failed to accept invite.");
|
||||
}
|
||||
await e.Channel.SendMessage("I got in!");
|
||||
|
@ -13,10 +13,10 @@ using Timer = System.Timers.Timer;
|
||||
namespace NadekoBot.Modules {
|
||||
internal class Music : DiscordModule {
|
||||
|
||||
public static ConcurrentDictionary<Server, MusicPlayer> musicPlayers = new ConcurrentDictionary<Server, MusicPlayer>();
|
||||
public static ConcurrentDictionary<ulong, float> defaultMusicVolumes = new ConcurrentDictionary<ulong, float>();
|
||||
public static ConcurrentDictionary<Server, MusicPlayer> MusicPlayers = new ConcurrentDictionary<Server, MusicPlayer>();
|
||||
public static ConcurrentDictionary<ulong, float> DefaultMusicVolumes = new ConcurrentDictionary<ulong, float>();
|
||||
|
||||
private Timer setgameTimer => new Timer();
|
||||
private readonly Timer setgameTimer = new Timer();
|
||||
|
||||
private bool setgameEnabled = false;
|
||||
|
||||
@ -25,8 +25,8 @@ namespace NadekoBot.Modules {
|
||||
setgameTimer.Interval = 20000;
|
||||
setgameTimer.Elapsed += (s, e) => {
|
||||
try {
|
||||
int num = musicPlayers.Where(kvp => kvp.Value.CurrentSong != null).Count();
|
||||
NadekoBot.Client.SetGame($"{num} songs".SnPl(num) + $", {musicPlayers.Sum(kvp => kvp.Value.Playlist.Count())} queued");
|
||||
var num = MusicPlayers.Count(kvp => kvp.Value.CurrentSong != null);
|
||||
NadekoBot.Client.SetGame($"{num} songs".SnPl(num) + $", {MusicPlayers.Sum(kvp => kvp.Value.Playlist.Count())} queued");
|
||||
} catch { }
|
||||
};
|
||||
|
||||
@ -46,7 +46,7 @@ namespace NadekoBot.Modules {
|
||||
.Description("Goes to the next song in the queue.")
|
||||
.Do(e => {
|
||||
MusicPlayer musicPlayer;
|
||||
if (!musicPlayers.TryGetValue(e.Server, out musicPlayer)) return;
|
||||
if (!MusicPlayers.TryGetValue(e.Server, out musicPlayer)) return;
|
||||
musicPlayer.Next();
|
||||
});
|
||||
|
||||
@ -55,7 +55,7 @@ namespace NadekoBot.Modules {
|
||||
.Description("Completely stops the music, unbinds the bot from the channel, and cleans up files.")
|
||||
.Do(async e => {
|
||||
MusicPlayer musicPlayer;
|
||||
if (!musicPlayers.TryGetValue(e.Server, out musicPlayer)) return;
|
||||
if (!MusicPlayers.TryGetValue(e.Server, out musicPlayer)) return;
|
||||
musicPlayer.Stop();
|
||||
var msg = await e.Channel.SendMessage("⚠Due to music issues, NadekoBot is unable to leave voice channels at this moment.\nIf this presents inconvenience, you can use `!m mv` command to make her join your current voice channel.");
|
||||
await Task.Delay(5000);
|
||||
@ -69,7 +69,7 @@ namespace NadekoBot.Modules {
|
||||
.Description("Pauses or Unpauses the song.")
|
||||
.Do(async e => {
|
||||
MusicPlayer musicPlayer;
|
||||
if (!musicPlayers.TryGetValue(e.Server, out musicPlayer)) return;
|
||||
if (!MusicPlayers.TryGetValue(e.Server, out musicPlayer)) return;
|
||||
musicPlayer.TogglePause();
|
||||
if (musicPlayer.Paused)
|
||||
await e.Channel.SendMessage("🎵`Music musicPlayer paused.`");
|
||||
@ -90,11 +90,11 @@ namespace NadekoBot.Modules {
|
||||
.Description("Lists up to 15 currently queued songs.")
|
||||
.Do(async e => {
|
||||
MusicPlayer musicPlayer;
|
||||
if (!musicPlayers.TryGetValue(e.Server, out musicPlayer)) {
|
||||
if (!MusicPlayers.TryGetValue(e.Server, out musicPlayer)) {
|
||||
await e.Channel.SendMessage("🎵 No active music musicPlayer.");
|
||||
return;
|
||||
}
|
||||
string toSend = "🎵 **" + musicPlayer.Playlist.Count + "** `videos currently queued.` ";
|
||||
string toSend = "🎵 **" + musicPlayer.Playlist.Count + "** `tracks currently queued.` ";
|
||||
if (musicPlayer.Playlist.Count >= MusicPlayer.MaximumPlaylistSize)
|
||||
toSend += "**Song queue is full!**\n";
|
||||
else
|
||||
@ -108,7 +108,7 @@ namespace NadekoBot.Modules {
|
||||
.Description("Shows the song currently playing.")
|
||||
.Do(async e => {
|
||||
MusicPlayer musicPlayer;
|
||||
if (!musicPlayers.TryGetValue(e.Server, out musicPlayer))
|
||||
if (!MusicPlayers.TryGetValue(e.Server, out musicPlayer))
|
||||
return;
|
||||
await e.Channel.SendMessage($"🎵`Now Playing` {musicPlayer.CurrentSong.PrettyName}");
|
||||
});
|
||||
@ -118,7 +118,7 @@ namespace NadekoBot.Modules {
|
||||
.Parameter("val", ParameterType.Required)
|
||||
.Do(async e => {
|
||||
MusicPlayer musicPlayer;
|
||||
if (!musicPlayers.TryGetValue(e.Server, out musicPlayer))
|
||||
if (!MusicPlayers.TryGetValue(e.Server, out musicPlayer))
|
||||
return;
|
||||
var arg = e.GetArg("val");
|
||||
int volume;
|
||||
@ -141,7 +141,7 @@ namespace NadekoBot.Modules {
|
||||
await e.Channel.SendMessage("Volume number invalid.");
|
||||
return;
|
||||
}
|
||||
defaultMusicVolumes.AddOrUpdate(e.Server.Id, volume / 100, (key, newval) => volume / 100);
|
||||
DefaultMusicVolumes.AddOrUpdate(e.Server.Id, volume / 100, (key, newval) => volume / 100);
|
||||
await e.Channel.SendMessage($"🎵 `Default volume set to {volume}%`");
|
||||
});
|
||||
|
||||
@ -149,7 +149,7 @@ namespace NadekoBot.Modules {
|
||||
.Description("Sets the music volume to 0%")
|
||||
.Do(e => {
|
||||
MusicPlayer musicPlayer;
|
||||
if (!musicPlayers.TryGetValue(e.Server, out musicPlayer))
|
||||
if (!MusicPlayers.TryGetValue(e.Server, out musicPlayer))
|
||||
return;
|
||||
musicPlayer.SetVolume(0);
|
||||
});
|
||||
@ -158,7 +158,7 @@ namespace NadekoBot.Modules {
|
||||
.Description("Sets the music volume to 100% (real max is actually 150%).")
|
||||
.Do(e => {
|
||||
MusicPlayer musicPlayer;
|
||||
if (!musicPlayers.TryGetValue(e.Server, out musicPlayer))
|
||||
if (!MusicPlayers.TryGetValue(e.Server, out musicPlayer))
|
||||
return;
|
||||
musicPlayer.SetVolume(100);
|
||||
});
|
||||
@ -167,7 +167,7 @@ namespace NadekoBot.Modules {
|
||||
.Description("Sets the music volume to 50%.")
|
||||
.Do(e => {
|
||||
MusicPlayer musicPlayer;
|
||||
if (!musicPlayers.TryGetValue(e.Server, out musicPlayer))
|
||||
if (!MusicPlayers.TryGetValue(e.Server, out musicPlayer))
|
||||
return;
|
||||
musicPlayer.SetVolume(50);
|
||||
});
|
||||
@ -176,7 +176,7 @@ namespace NadekoBot.Modules {
|
||||
.Description("Shuffles the current playlist.")
|
||||
.Do(async e => {
|
||||
MusicPlayer musicPlayer;
|
||||
if (!musicPlayers.TryGetValue(e.Server, out musicPlayer))
|
||||
if (!MusicPlayers.TryGetValue(e.Server, out musicPlayer))
|
||||
return;
|
||||
if (musicPlayer.Playlist.Count < 2) {
|
||||
await e.Channel.SendMessage("💢 Not enough songs in order to perform the shuffle.");
|
||||
@ -266,7 +266,7 @@ namespace NadekoBot.Modules {
|
||||
.Do(e => {
|
||||
MusicPlayer musicPlayer;
|
||||
var voiceChannel = e.User.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;
|
||||
musicPlayer.MoveToVoiceChannel(voiceChannel);
|
||||
});
|
||||
@ -277,7 +277,7 @@ namespace NadekoBot.Modules {
|
||||
.Do(async e => {
|
||||
var arg = e.GetArg("num");
|
||||
MusicPlayer musicPlayer;
|
||||
if (!musicPlayers.TryGetValue(e.Server, out musicPlayer)) {
|
||||
if (!MusicPlayers.TryGetValue(e.Server, out musicPlayer)) {
|
||||
return;
|
||||
}
|
||||
if (arg?.ToLower() == "all") {
|
||||
@ -306,39 +306,40 @@ namespace NadekoBot.Modules {
|
||||
});
|
||||
}
|
||||
|
||||
private async Task QueueSong(Channel TextCh, Channel VoiceCh, string query, bool silent = false, MusicType musicType = MusicType.Normal) {
|
||||
if (VoiceCh == null || VoiceCh.Server != TextCh.Server) {
|
||||
private async Task QueueSong(Channel textCh, Channel voiceCh, string query, bool silent = false, MusicType musicType = MusicType.Normal) {
|
||||
if (voiceCh == null || voiceCh.Server != textCh.Server) {
|
||||
if (!silent)
|
||||
await TextCh.SendMessage("💢 You need to be in a voice channel on this server.\n If you are already in a voice channel, try rejoining.");
|
||||
throw new ArgumentNullException(nameof(VoiceCh));
|
||||
await textCh.SendMessage("💢 You need to be in a voice channel on this server.\n If you are already in a voice channel, try rejoining.");
|
||||
throw new ArgumentNullException(nameof(voiceCh));
|
||||
}
|
||||
if (string.IsNullOrWhiteSpace(query) || query.Length < 3)
|
||||
throw new ArgumentException("💢 Invalid query for queue song.", nameof(query));
|
||||
MusicPlayer musicPlayer = null;
|
||||
if (!musicPlayers.TryGetValue(TextCh.Server, out musicPlayer)) {
|
||||
if (!MusicPlayers.TryGetValue(textCh.Server, out musicPlayer)) {
|
||||
float? vol = null;
|
||||
float throwAway;
|
||||
if (defaultMusicVolumes.TryGetValue(TextCh.Server.Id, out throwAway))
|
||||
if (DefaultMusicVolumes.TryGetValue(textCh.Server.Id, out throwAway))
|
||||
vol = throwAway;
|
||||
musicPlayer = new MusicPlayer(VoiceCh, vol) {
|
||||
OnCompleted = async (song) => {
|
||||
musicPlayer = new MusicPlayer(voiceCh, vol) {
|
||||
OnCompleted = async song => {
|
||||
try {
|
||||
await TextCh.SendMessage($"🎵`Finished`{song.PrettyName}");
|
||||
} catch { }
|
||||
await textCh.SendMessage($"🎵`Finished`{song.PrettyName}");
|
||||
}
|
||||
catch {}
|
||||
},
|
||||
OnStarted = async (song) => {
|
||||
try {
|
||||
var msgTxt = $"🎵`Playing`{song.PrettyName} `Vol: {(int)(musicPlayer.Volume * 100)}%`";
|
||||
await TextCh.SendMessage(msgTxt);
|
||||
await textCh.SendMessage(msgTxt);
|
||||
} catch { }
|
||||
},
|
||||
};
|
||||
musicPlayers.TryAdd(TextCh.Server, musicPlayer);
|
||||
MusicPlayers.TryAdd(textCh.Server, musicPlayer);
|
||||
}
|
||||
var resolvedSong = await Song.ResolveSong(query, musicType);
|
||||
resolvedSong.MusicPlayer = musicPlayer;
|
||||
if (!silent)
|
||||
await TextCh.Send($"🎵`Queued`{resolvedSong.PrettyName}");
|
||||
await textCh.Send($"🎵`Queued`{resolvedSong.PrettyName}");
|
||||
musicPlayer.AddSong(resolvedSong);
|
||||
}
|
||||
}
|
||||
|
@ -7,11 +7,7 @@ using NadekoBot.Classes;
|
||||
namespace NadekoBot.Modules {
|
||||
internal class NSFW : DiscordModule {
|
||||
|
||||
private Random _r = new Random();
|
||||
|
||||
public NSFW() {
|
||||
|
||||
}
|
||||
private readonly Random rng = new Random();
|
||||
|
||||
public override void Install(ModuleManager manager) {
|
||||
manager.CreateCommands("", cgb => {
|
||||
@ -22,9 +18,7 @@ namespace NadekoBot.Modules {
|
||||
.Description("Shows a random NSFW hentai image from gelbooru and danbooru with a given tag. Tag is optional but preffered. (multiple tags are appended with +)\n**Usage**: ~hentai yuri+kissing")
|
||||
.Parameter("tag", ParameterType.Unparsed)
|
||||
.Do(async e => {
|
||||
string tag = e.GetArg("tag");
|
||||
if (tag == null)
|
||||
tag = "";
|
||||
var tag = e.GetArg("tag")?.Trim() ?? "";
|
||||
await e.Channel.SendMessage(":heart: Gelbooru: " + await SearchHelper.GetGelbooruImageLink(tag));
|
||||
await e.Channel.SendMessage(":heart: Danbooru: " + await SearchHelper.GetDanbooruImageLink(tag));
|
||||
});
|
||||
@ -32,27 +26,21 @@ namespace NadekoBot.Modules {
|
||||
.Description("Shows a random hentai image from danbooru with a given tag. Tag is optional but preffered. (multiple tags are appended with +)\n**Usage**: ~danbooru yuri+kissing")
|
||||
.Parameter("tag", ParameterType.Unparsed)
|
||||
.Do(async e => {
|
||||
string tag = e.GetArg("tag");
|
||||
if (tag == null)
|
||||
tag = "";
|
||||
var tag = e.GetArg("tag")?.Trim() ?? "";
|
||||
await e.Channel.SendMessage(await SearchHelper.GetDanbooruImageLink(tag));
|
||||
});
|
||||
cgb.CreateCommand("~gelbooru")
|
||||
.Description("Shows a random hentai image from gelbooru with a given tag. Tag is optional but preffered. (multiple tags are appended with +)\n**Usage**: ~gelbooru yuri+kissing")
|
||||
.Parameter("tag", ParameterType.Unparsed)
|
||||
.Do(async e => {
|
||||
string tag = e.GetArg("tag");
|
||||
if (tag == null)
|
||||
tag = "";
|
||||
var tag = e.GetArg("tag")?.Trim() ?? "";
|
||||
await e.Channel.SendMessage(await SearchHelper.GetGelbooruImageLink(tag));
|
||||
});
|
||||
cgb.CreateCommand("~e621")
|
||||
.Description("Shows a random hentai image from e621.net with a given tag. Tag is optional but preffered. Use spaces for multiple tags.\n**Usage**: ~e621 yuri+kissing")
|
||||
.Parameter("tag", ParameterType.Unparsed)
|
||||
.Do(async e => {
|
||||
string tag = e.GetArg("tag");
|
||||
if (tag == null)
|
||||
tag = "";
|
||||
var tag = e.GetArg("tag")?.Trim() ?? "";
|
||||
await e.Channel.SendMessage(await SearchHelper.GetE621ImageLink(tag));
|
||||
});
|
||||
cgb.CreateCommand("~cp")
|
||||
@ -65,12 +53,23 @@ namespace NadekoBot.Modules {
|
||||
.Description("Real adult content.")
|
||||
.Do(async e => {
|
||||
try {
|
||||
var obj = JArray.Parse(await SearchHelper.GetResponseStringAsync($"http://api.oboobs.ru/boobs/{_r.Next(0, 9304)}"))[0];
|
||||
var obj = JArray.Parse(await SearchHelper.GetResponseStringAsync($"http://api.oboobs.ru/boobs/{rng.Next(0, 9380)}"))[0];
|
||||
await e.Channel.SendMessage($"http://media.oboobs.ru/{ obj["preview"].ToString() }");
|
||||
} catch (Exception ex) {
|
||||
await e.Channel.SendMessage($"💢 {ex.Message}");
|
||||
}
|
||||
});
|
||||
cgb.CreateCommand("~butts")
|
||||
.Alias("~ass","~butt")
|
||||
.Description("Real adult content.")
|
||||
.Do(async e => {
|
||||
try {
|
||||
var obj = JArray.Parse(await SearchHelper.GetResponseStringAsync($"http://api.obutts.ru/butts/{rng.Next(0, 3373)}"))[0];
|
||||
await e.Channel.SendMessage($"http://media.obutts.ru/{ obj["preview"].ToString() }");
|
||||
} catch (Exception ex) {
|
||||
await e.Channel.SendMessage($"💢 {ex.Message}");
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@ -12,7 +12,7 @@ namespace NadekoBot.Modules {
|
||||
public PermissionModule() {
|
||||
//Empty for now
|
||||
}
|
||||
|
||||
//todo word filtering/invite bans (?:discord(?:\.gg|app\.com\/invite)\/(?<id>([\w]{16}|(?:[\w]+-?){3})))
|
||||
public override void Install(ModuleManager manager) {
|
||||
var client = NadekoBot.Client;
|
||||
manager.CreateCommands("", cgb => {
|
||||
@ -51,7 +51,7 @@ namespace NadekoBot.Modules {
|
||||
.Parameter("arg", ParameterType.Required)
|
||||
.Do(async e => {
|
||||
var arg = e.GetArg("arg");
|
||||
bool val = PermissionHelper.ValidateBool(arg);
|
||||
var val = PermissionHelper.ValidateBool(arg);
|
||||
PermsHandler.SetVerbosity(e.Server, val);
|
||||
await e.Channel.SendMessage($"Verbosity set to {val}.");
|
||||
});
|
||||
@ -72,7 +72,7 @@ namespace NadekoBot.Modules {
|
||||
.Parameter("role", ParameterType.Unparsed)
|
||||
.Do(async e => {
|
||||
var arg = e.GetArg("role");
|
||||
Discord.Role role = e.Server.EveryoneRole;
|
||||
var role = e.Server.EveryoneRole;
|
||||
if (!string.IsNullOrWhiteSpace(arg))
|
||||
try {
|
||||
role = PermissionHelper.ValidateRole(e.Server, e.GetArg("role"));
|
||||
@ -95,7 +95,7 @@ namespace NadekoBot.Modules {
|
||||
.Parameter("channel", ParameterType.Unparsed)
|
||||
.Do(async e => {
|
||||
var arg = e.GetArg("channel");
|
||||
Discord.Channel channel = e.Channel;
|
||||
var channel = e.Channel;
|
||||
if (!string.IsNullOrWhiteSpace(arg))
|
||||
try {
|
||||
channel = PermissionHelper.ValidateChannel(e.Server, e.GetArg("channel"));
|
||||
@ -117,7 +117,7 @@ namespace NadekoBot.Modules {
|
||||
.Parameter("user", ParameterType.Unparsed)
|
||||
.Do(async e => {
|
||||
var arg = e.GetArg("user");
|
||||
Discord.User user = e.User;
|
||||
var user = e.User;
|
||||
if (!string.IsNullOrWhiteSpace(e.GetArg("user")))
|
||||
try {
|
||||
user = PermissionHelper.ValidateUser(e.Server, e.GetArg("user"));
|
||||
@ -139,8 +139,8 @@ namespace NadekoBot.Modules {
|
||||
.Description("Sets a module's permission at the server level.\n**Usage**: ;sm [module_name] enable")
|
||||
.Do(async e => {
|
||||
try {
|
||||
string module = PermissionHelper.ValidateModule(e.GetArg("module"));
|
||||
bool state = PermissionHelper.ValidateBool(e.GetArg("bool"));
|
||||
var module = PermissionHelper.ValidateModule(e.GetArg("module"));
|
||||
var state = PermissionHelper.ValidateBool(e.GetArg("bool"));
|
||||
|
||||
PermsHandler.SetServerModulePermission(e.Server, module, state);
|
||||
await e.Channel.SendMessage($"Module **{module}** has been **{(state ? "enabled" : "disabled")}** on this server.");
|
||||
@ -159,8 +159,8 @@ namespace NadekoBot.Modules {
|
||||
.Description("Sets a command's permission at the server level.\n**Usage**: ;sc [command_name] disable")
|
||||
.Do(async e => {
|
||||
try {
|
||||
string command = PermissionHelper.ValidateCommand(e.GetArg("command"));
|
||||
bool state = PermissionHelper.ValidateBool(e.GetArg("bool"));
|
||||
var command = PermissionHelper.ValidateCommand(e.GetArg("command"));
|
||||
var state = PermissionHelper.ValidateBool(e.GetArg("bool"));
|
||||
|
||||
PermsHandler.SetServerCommandPermission(e.Server, command, state);
|
||||
await e.Channel.SendMessage($"Command **{command}** has been **{(state ? "enabled" : "disabled")}** on this server.");
|
||||
@ -180,8 +180,8 @@ namespace NadekoBot.Modules {
|
||||
.Description("Sets a module's permission at the role level.\n**Usage**: ;rm [module_name] enable [role_name]")
|
||||
.Do(async e => {
|
||||
try {
|
||||
string module = PermissionHelper.ValidateModule(e.GetArg("module"));
|
||||
bool state = PermissionHelper.ValidateBool(e.GetArg("bool"));
|
||||
var module = PermissionHelper.ValidateModule(e.GetArg("module"));
|
||||
var state = PermissionHelper.ValidateBool(e.GetArg("bool"));
|
||||
|
||||
if (e.GetArg("role")?.ToLower() == "all") {
|
||||
foreach (var role in e.Server.Roles) {
|
||||
@ -190,7 +190,7 @@ namespace NadekoBot.Modules {
|
||||
await e.Channel.SendMessage($"Module **{module}** has been **{(state ? "enabled" : "disabled")}** for **ALL** roles.");
|
||||
}
|
||||
else {
|
||||
Discord.Role role = PermissionHelper.ValidateRole(e.Server, e.GetArg("role"));
|
||||
var role = PermissionHelper.ValidateRole(e.Server, e.GetArg("role"));
|
||||
|
||||
PermsHandler.SetRoleModulePermission(role, module, state);
|
||||
await e.Channel.SendMessage($"Module **{module}** has been **{(state ? "enabled" : "disabled")}** for **{role.Name}** role.");
|
||||
@ -211,8 +211,8 @@ namespace NadekoBot.Modules {
|
||||
.Description("Sets a command's permission at the role level.\n**Usage**: ;rc [command_name] disable [role_name]")
|
||||
.Do(async e => {
|
||||
try {
|
||||
string command = PermissionHelper.ValidateCommand(e.GetArg("command"));
|
||||
bool state = PermissionHelper.ValidateBool(e.GetArg("bool"));
|
||||
var command = PermissionHelper.ValidateCommand(e.GetArg("command"));
|
||||
var state = PermissionHelper.ValidateBool(e.GetArg("bool"));
|
||||
|
||||
if (e.GetArg("role")?.ToLower() == "all") {
|
||||
foreach (var role in e.Server.Roles) {
|
||||
@ -221,7 +221,7 @@ namespace NadekoBot.Modules {
|
||||
await e.Channel.SendMessage($"Command **{command}** has been **{(state ? "enabled" : "disabled")}** for **ALL** roles.");
|
||||
}
|
||||
else {
|
||||
Discord.Role role = PermissionHelper.ValidateRole(e.Server, e.GetArg("role"));
|
||||
var role = PermissionHelper.ValidateRole(e.Server, e.GetArg("role"));
|
||||
|
||||
PermsHandler.SetRoleCommandPermission(role, command, state);
|
||||
await e.Channel.SendMessage($"Command **{command}** has been **{(state ? "enabled" : "disabled")}** for **{role.Name}** role.");
|
||||
@ -242,8 +242,8 @@ namespace NadekoBot.Modules {
|
||||
.Description("Sets a module's permission at the channel level.\n**Usage**: ;cm [module_name] enable [channel_name]")
|
||||
.Do(async e => {
|
||||
try {
|
||||
string module = PermissionHelper.ValidateModule(e.GetArg("module"));
|
||||
bool state = PermissionHelper.ValidateBool(e.GetArg("bool"));
|
||||
var module = PermissionHelper.ValidateModule(e.GetArg("module"));
|
||||
var state = PermissionHelper.ValidateBool(e.GetArg("bool"));
|
||||
|
||||
if (e.GetArg("channel")?.ToLower() == "all") {
|
||||
foreach (var channel in e.Server.TextChannels) {
|
||||
@ -252,7 +252,7 @@ namespace NadekoBot.Modules {
|
||||
await e.Channel.SendMessage($"Module **{module}** has been **{(state ? "enabled" : "disabled")}** on **ALL** channels.");
|
||||
}
|
||||
else {
|
||||
Discord.Channel channel = PermissionHelper.ValidateChannel(e.Server, e.GetArg("channel"));
|
||||
var channel = PermissionHelper.ValidateChannel(e.Server, e.GetArg("channel"));
|
||||
|
||||
PermsHandler.SetChannelModulePermission(channel, module, state);
|
||||
await e.Channel.SendMessage($"Module **{module}** has been **{(state ? "enabled" : "disabled")}** for **{channel.Name}** channel.");
|
||||
@ -273,8 +273,8 @@ namespace NadekoBot.Modules {
|
||||
.Description("Sets a command's permission at the channel level.\n**Usage**: ;cc [command_name] enable [channel_name]")
|
||||
.Do(async e => {
|
||||
try {
|
||||
string command = PermissionHelper.ValidateCommand(e.GetArg("command"));
|
||||
bool state = PermissionHelper.ValidateBool(e.GetArg("bool"));
|
||||
var command = PermissionHelper.ValidateCommand(e.GetArg("command"));
|
||||
var state = PermissionHelper.ValidateBool(e.GetArg("bool"));
|
||||
|
||||
if (e.GetArg("channel")?.ToLower() == "all") {
|
||||
foreach (var channel in e.Server.TextChannels) {
|
||||
@ -283,7 +283,7 @@ namespace NadekoBot.Modules {
|
||||
await e.Channel.SendMessage($"Command **{command}** has been **{(state ? "enabled" : "disabled")}** on **ALL** channels.");
|
||||
}
|
||||
else {
|
||||
Discord.Channel channel = PermissionHelper.ValidateChannel(e.Server, e.GetArg("channel"));
|
||||
var channel = PermissionHelper.ValidateChannel(e.Server, e.GetArg("channel"));
|
||||
|
||||
PermsHandler.SetChannelCommandPermission(channel, command, state);
|
||||
await e.Channel.SendMessage($"Command **{command}** has been **{(state ? "enabled" : "disabled")}** for **{channel.Name}** channel.");
|
||||
@ -304,9 +304,9 @@ namespace NadekoBot.Modules {
|
||||
.Description("Sets a module's permission at the user level.\n**Usage**: ;um [module_name] enable [user_name]")
|
||||
.Do(async e => {
|
||||
try {
|
||||
string module = PermissionHelper.ValidateModule(e.GetArg("module"));
|
||||
bool state = PermissionHelper.ValidateBool(e.GetArg("bool"));
|
||||
Discord.User user = PermissionHelper.ValidateUser(e.Server, e.GetArg("user"));
|
||||
var module = PermissionHelper.ValidateModule(e.GetArg("module"));
|
||||
var state = PermissionHelper.ValidateBool(e.GetArg("bool"));
|
||||
var user = PermissionHelper.ValidateUser(e.Server, e.GetArg("user"));
|
||||
|
||||
PermsHandler.SetUserModulePermission(user, module, state);
|
||||
await e.Channel.SendMessage($"Module **{module}** has been **{(state ? "enabled" : "disabled")}** for user **{user.Name}**.");
|
||||
@ -326,9 +326,9 @@ namespace NadekoBot.Modules {
|
||||
.Description("Sets a command's permission at the user level.\n**Usage**: ;uc [command_name] enable [user_name]")
|
||||
.Do(async e => {
|
||||
try {
|
||||
string command = PermissionHelper.ValidateCommand(e.GetArg("command"));
|
||||
bool state = PermissionHelper.ValidateBool(e.GetArg("bool"));
|
||||
Discord.User user = PermissionHelper.ValidateUser(e.Server, e.GetArg("user"));
|
||||
var command = PermissionHelper.ValidateCommand(e.GetArg("command"));
|
||||
var state = PermissionHelper.ValidateBool(e.GetArg("bool"));
|
||||
var user = PermissionHelper.ValidateUser(e.Server, e.GetArg("user"));
|
||||
|
||||
PermsHandler.SetUserCommandPermission(user, command, state);
|
||||
await e.Channel.SendMessage($"Command **{command}** has been **{(state ? "enabled" : "disabled")}** for user **{user.Name}**.");
|
||||
@ -346,7 +346,7 @@ namespace NadekoBot.Modules {
|
||||
.Description("Sets permissions for all modules at the server level.\n**Usage**: ;asm [enable/disable]")
|
||||
.Do(async e => {
|
||||
try {
|
||||
bool state = PermissionHelper.ValidateBool(e.GetArg("bool"));
|
||||
var state = PermissionHelper.ValidateBool(e.GetArg("bool"));
|
||||
|
||||
foreach (var module in NadekoBot.Client.GetService<ModuleService>().Modules) {
|
||||
PermsHandler.SetServerModulePermission(e.Server, module.Name, state);
|
||||
@ -367,8 +367,8 @@ namespace NadekoBot.Modules {
|
||||
.Description("Sets permissions for all commands from a certain module at the server level.\n**Usage**: ;asc [module_name] [enable/disable]")
|
||||
.Do(async e => {
|
||||
try {
|
||||
bool state = PermissionHelper.ValidateBool(e.GetArg("bool"));
|
||||
string module = PermissionHelper.ValidateModule(e.GetArg("module"));
|
||||
var state = PermissionHelper.ValidateBool(e.GetArg("bool"));
|
||||
var module = PermissionHelper.ValidateModule(e.GetArg("module"));
|
||||
|
||||
foreach (var command in NadekoBot.Client.GetService<CommandService>().AllCommands.Where(c => c.Category == module)) {
|
||||
PermsHandler.SetServerCommandPermission(e.Server, command.Text, state);
|
||||
@ -389,8 +389,8 @@ namespace NadekoBot.Modules {
|
||||
.Description("Sets permissions for all modules at the channel level.\n**Usage**: ;acm [enable/disable] [channel_name]")
|
||||
.Do(async e => {
|
||||
try {
|
||||
bool state = PermissionHelper.ValidateBool(e.GetArg("bool"));
|
||||
Discord.Channel channel = PermissionHelper.ValidateChannel(e.Server, e.GetArg("channel"));
|
||||
var state = PermissionHelper.ValidateBool(e.GetArg("bool"));
|
||||
var channel = PermissionHelper.ValidateChannel(e.Server, e.GetArg("channel"));
|
||||
foreach (var module in NadekoBot.Client.GetService<ModuleService>().Modules) {
|
||||
PermsHandler.SetChannelModulePermission(channel, module.Name, state);
|
||||
}
|
||||
@ -412,9 +412,9 @@ namespace NadekoBot.Modules {
|
||||
.Description("Sets permissions for all commands from a certain module at the channel level.\n**Usage**: ;acc [module_name] [enable/disable] [channel_name]")
|
||||
.Do(async e => {
|
||||
try {
|
||||
bool state = PermissionHelper.ValidateBool(e.GetArg("bool"));
|
||||
string module = PermissionHelper.ValidateModule(e.GetArg("module"));
|
||||
Discord.Channel channel = PermissionHelper.ValidateChannel(e.Server, e.GetArg("channel"));
|
||||
var state = PermissionHelper.ValidateBool(e.GetArg("bool"));
|
||||
var module = PermissionHelper.ValidateModule(e.GetArg("module"));
|
||||
var channel = PermissionHelper.ValidateChannel(e.Server, e.GetArg("channel"));
|
||||
foreach (var command in NadekoBot.Client.GetService<CommandService>().AllCommands.Where(c => c.Category == module)) {
|
||||
PermsHandler.SetChannelCommandPermission(channel, command.Text, state);
|
||||
}
|
||||
@ -434,8 +434,8 @@ namespace NadekoBot.Modules {
|
||||
.Description("Sets permissions for all modules at the role level.\n**Usage**: ;arm [enable/disable] [role_name]")
|
||||
.Do(async e => {
|
||||
try {
|
||||
bool state = PermissionHelper.ValidateBool(e.GetArg("bool"));
|
||||
Discord.Role role = PermissionHelper.ValidateRole(e.Server, e.GetArg("role"));
|
||||
var state = PermissionHelper.ValidateBool(e.GetArg("bool"));
|
||||
var role = PermissionHelper.ValidateRole(e.Server, e.GetArg("role"));
|
||||
foreach (var module in NadekoBot.Client.GetService<ModuleService>().Modules) {
|
||||
PermsHandler.SetRoleModulePermission(role, module.Name, state);
|
||||
}
|
||||
@ -457,9 +457,9 @@ namespace NadekoBot.Modules {
|
||||
.Description("Sets permissions for all commands from a certain module at the role level.\n**Usage**: ;arc [module_name] [enable/disable] [channel_name]")
|
||||
.Do(async e => {
|
||||
try {
|
||||
bool state = PermissionHelper.ValidateBool(e.GetArg("bool"));
|
||||
string module = PermissionHelper.ValidateModule(e.GetArg("module"));
|
||||
Discord.Role role = PermissionHelper.ValidateRole(e.Server, e.GetArg("channel"));
|
||||
var state = PermissionHelper.ValidateBool(e.GetArg("bool"));
|
||||
var module = PermissionHelper.ValidateModule(e.GetArg("module"));
|
||||
var role = PermissionHelper.ValidateRole(e.Server, e.GetArg("channel"));
|
||||
foreach (var command in NadekoBot.Client.GetService<CommandService>().AllCommands.Where(c => c.Category == module)) {
|
||||
PermsHandler.SetRoleCommandPermission(role, command.Text, state);
|
||||
}
|
||||
|
Reference in New Issue
Block a user