I don't know if I fixed the merge conflict or not 👀
This commit is contained in:
commit
7c78ee1b4e
@ -301,6 +301,16 @@ namespace NadekoBot.Modules.Administration
|
|||||||
{
|
{
|
||||||
msg = "No reason provided.";
|
msg = "No reason provided.";
|
||||||
}
|
}
|
||||||
|
if (umsg.Author.Id != user.Guild.OwnerId && user.Roles.Select(r=>r.Position).Max() >= ((IGuildUser)umsg.Author).Roles.Select(r => r.Position).Max())
|
||||||
|
{
|
||||||
|
await channel.SendMessageAsync("You can't use this command on users with a role higher or equal to yours in the role hierarchy.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (umsg.Author.Id != user.Guild.OwnerId && user.Roles.Max().Position >= ((IGuildUser)umsg.Author).Roles.Max().Position)
|
||||||
|
{
|
||||||
|
await channel.SendMessageAsync("You can't use this command on users with a role higher or equal to yours in the role hierarchy.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
await (await user.CreateDMChannelAsync()).SendMessageAsync($"**You have been BANNED from `{channel.Guild.Name}` server.**\n" +
|
await (await user.CreateDMChannelAsync()).SendMessageAsync($"**You have been BANNED from `{channel.Guild.Name}` server.**\n" +
|
||||||
@ -330,6 +340,11 @@ namespace NadekoBot.Modules.Administration
|
|||||||
{
|
{
|
||||||
msg = "No reason provided.";
|
msg = "No reason provided.";
|
||||||
}
|
}
|
||||||
|
if (umsg.Author.Id != user.Guild.OwnerId && user.Roles.Max().Position >= ((IGuildUser)umsg.Author).Roles.Max().Position)
|
||||||
|
{
|
||||||
|
await channel.SendMessageAsync("You can't use this command on users with a role higher or equal to yours in the role hierarchy.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
await user.SendMessageAsync($"**You have been SOFT-BANNED from `{channel.Guild.Name}` server.**\n" +
|
await user.SendMessageAsync($"**You have been SOFT-BANNED from `{channel.Guild.Name}` server.**\n" +
|
||||||
@ -363,6 +378,12 @@ namespace NadekoBot.Modules.Administration
|
|||||||
await channel.SendMessageAsync("User not found.").ConfigureAwait(false);
|
await channel.SendMessageAsync("User not found.").ConfigureAwait(false);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (umsg.Author.Id != user.Guild.OwnerId && user.Roles.Select(r => r.Position).Max() >= ((IGuildUser)umsg.Author).Roles.Select(r => r.Position).Max())
|
||||||
|
{
|
||||||
|
await channel.SendMessageAsync("You can't use this command on users with a role higher or equal to yours in the role hierarchy.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (!string.IsNullOrWhiteSpace(msg))
|
if (!string.IsNullOrWhiteSpace(msg))
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
@ -412,6 +433,7 @@ namespace NadekoBot.Modules.Administration
|
|||||||
|
|
||||||
[NadekoCommand, Usage, Description, Aliases]
|
[NadekoCommand, Usage, Description, Aliases]
|
||||||
[RequireContext(ContextType.Guild)]
|
[RequireContext(ContextType.Guild)]
|
||||||
|
[RequirePermission(GuildPermission.ManageRoles)]
|
||||||
[RequirePermission(GuildPermission.MuteMembers)]
|
[RequirePermission(GuildPermission.MuteMembers)]
|
||||||
public async Task Mute(IUserMessage umsg, IGuildUser user)
|
public async Task Mute(IUserMessage umsg, IGuildUser user)
|
||||||
{
|
{
|
||||||
@ -421,7 +443,7 @@ namespace NadekoBot.Modules.Administration
|
|||||||
{
|
{
|
||||||
await user.ModifyAsync(usr => usr.Mute = true).ConfigureAwait(false);
|
await user.ModifyAsync(usr => usr.Mute = true).ConfigureAwait(false);
|
||||||
await user.AddRolesAsync(await GetMuteRole(channel.Guild).ConfigureAwait(false)).ConfigureAwait(false);
|
await user.AddRolesAsync(await GetMuteRole(channel.Guild).ConfigureAwait(false)).ConfigureAwait(false);
|
||||||
await channel.SendMessageAsync($"**{user}** was text and voice muted successfully.").ConfigureAwait(false);
|
await channel.SendMessageAsync($"**{user}** was muted from text and voice chat successfully.").ConfigureAwait(false);
|
||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
{
|
{
|
||||||
@ -431,15 +453,53 @@ namespace NadekoBot.Modules.Administration
|
|||||||
|
|
||||||
[NadekoCommand, Usage, Description, Aliases]
|
[NadekoCommand, Usage, Description, Aliases]
|
||||||
[RequireContext(ContextType.Guild)]
|
[RequireContext(ContextType.Guild)]
|
||||||
|
[RequirePermission(GuildPermission.ManageRoles)]
|
||||||
[RequirePermission(GuildPermission.MuteMembers)]
|
[RequirePermission(GuildPermission.MuteMembers)]
|
||||||
public async Task TextMute(IUserMessage umsg, IGuildUser user)
|
public async Task Unmute(IUserMessage umsg, IGuildUser user)
|
||||||
|
{
|
||||||
|
var channel = (ITextChannel)umsg.Channel;
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
await user.ModifyAsync(usr => usr.Mute = false).ConfigureAwait(false);
|
||||||
|
await user.RemoveRolesAsync(await GetMuteRole(channel.Guild).ConfigureAwait(false)).ConfigureAwait(false);
|
||||||
|
await channel.SendMessageAsync($"**{user}** was unmuted from text and voice chat successfully.").ConfigureAwait(false);
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
await channel.SendMessageAsync("I most likely don't have the permission necessary for that.").ConfigureAwait(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[NadekoCommand, Usage, Description, Aliases]
|
||||||
|
[RequireContext(ContextType.Guild)]
|
||||||
|
[RequirePermission(GuildPermission.ManageRoles)]
|
||||||
|
public async Task ChatMute(IUserMessage umsg, IGuildUser user)
|
||||||
{
|
{
|
||||||
var channel = (ITextChannel)umsg.Channel;
|
var channel = (ITextChannel)umsg.Channel;
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
await user.AddRolesAsync(await GetMuteRole(channel.Guild).ConfigureAwait(false)).ConfigureAwait(false);
|
await user.AddRolesAsync(await GetMuteRole(channel.Guild).ConfigureAwait(false)).ConfigureAwait(false);
|
||||||
await channel.SendMessageAsync($"**{user}** was text muted successfully.").ConfigureAwait(false);
|
await channel.SendMessageAsync($"**{user}** was muted from chatting successfully.").ConfigureAwait(false);
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
await channel.SendMessageAsync("I most likely don't have the permission necessary for that.").ConfigureAwait(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[NadekoCommand, Usage, Description, Aliases]
|
||||||
|
[RequireContext(ContextType.Guild)]
|
||||||
|
[RequirePermission(GuildPermission.ManageRoles)]
|
||||||
|
public async Task ChatUnmute(IUserMessage umsg, IGuildUser user)
|
||||||
|
{
|
||||||
|
var channel = (ITextChannel)umsg.Channel;
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
await user.RemoveRolesAsync(await GetMuteRole(channel.Guild).ConfigureAwait(false)).ConfigureAwait(false);
|
||||||
|
await channel.SendMessageAsync($"**{user}** was unmuted from chatting successfully.").ConfigureAwait(false);
|
||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
{
|
{
|
||||||
@ -474,7 +534,7 @@ namespace NadekoBot.Modules.Administration
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
await user.ModifyAsync(usr => usr.Mute = false).ConfigureAwait(false);
|
await user.ModifyAsync(usr => usr.Mute = false).ConfigureAwait(false);
|
||||||
await channel.SendMessageAsync("Unmute successful").ConfigureAwait(false);
|
await channel.SendMessageAsync($"**{user}** was voice unmuted successfully.").ConfigureAwait(false);
|
||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
{
|
{
|
||||||
|
@ -14,7 +14,7 @@ namespace NadekoBot.Modules.CustomReactions
|
|||||||
{
|
{
|
||||||
public static Dictionary<string, Func<IUserMessage, string, string>> responsePlaceholders = new Dictionary<string, Func<IUserMessage, string, string>>()
|
public static Dictionary<string, Func<IUserMessage, string, string>> responsePlaceholders = new Dictionary<string, Func<IUserMessage, string, string>>()
|
||||||
{
|
{
|
||||||
{"%target%", (ctx, trigger) => { return ctx.Content.ToLowerInvariant().Substring(trigger.Length); } }
|
{"%target%", (ctx, trigger) => { return ctx.Content.Substring(trigger.Length).Trim(); } }
|
||||||
};
|
};
|
||||||
|
|
||||||
public static Dictionary<string, Func<IUserMessage, string>> placeholders = new Dictionary<string, Func<IUserMessage, string>>()
|
public static Dictionary<string, Func<IUserMessage, string>> placeholders = new Dictionary<string, Func<IUserMessage, string>>()
|
||||||
|
@ -79,7 +79,7 @@ namespace NadekoBot.Modules.Utility
|
|||||||
`Joined Server:` **{user.JoinedAt?.ToString("dd.MM.yyyy HH:mm")}**
|
`Joined Server:` **{user.JoinedAt?.ToString("dd.MM.yyyy HH:mm")}**
|
||||||
`Joined Discord:` **{user.CreatedAt.ToString("dd.MM.yyyy HH:mm")}**
|
`Joined Discord:` **{user.CreatedAt.ToString("dd.MM.yyyy HH:mm")}**
|
||||||
`Roles:` **({user.Roles.Count()}) - {string.Join(", ", user.Roles.Select(r => r.Name)).SanitizeMentions()}**
|
`Roles:` **({user.Roles.Count()}) - {string.Join(", ", user.Roles.Select(r => r.Name)).SanitizeMentions()}**
|
||||||
`AvatarUrl:` **{user.AvatarUrl}**";
|
`AvatarUrl:` **{await NadekoBot.Google.ShortenUrl(user.AvatarUrl).ConfigureAwait(false)}**";
|
||||||
await msg.Reply(toReturn).ConfigureAwait(false);
|
await msg.Reply(toReturn).ConfigureAwait(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
112
src/NadekoBot/Resources/CommandStrings.Designer.cs
generated
112
src/NadekoBot/Resources/CommandStrings.Designer.cs
generated
@ -1031,6 +1031,60 @@ namespace NadekoBot.Resources {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to chatmute.
|
||||||
|
/// </summary>
|
||||||
|
public static string chatmute_cmd {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("chatmute_cmd", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Prevents a mentioned user from chatting in text channels..
|
||||||
|
/// </summary>
|
||||||
|
public static string chatmute_desc {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("chatmute_desc", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to `{0}chatmute @Someone`.
|
||||||
|
/// </summary>
|
||||||
|
public static string chatmute_usage {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("chatmute_usage", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to chatunmute.
|
||||||
|
/// </summary>
|
||||||
|
public static string chatunmute_cmd {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("chatunmute_cmd", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Removes a mute role previously set on a mentioned user with `{0}chatmute` which prevented him from chatting in text channels..
|
||||||
|
/// </summary>
|
||||||
|
public static string chatunmute_desc {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("chatunmute_desc", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to `{0}chatunmute @Someone`.
|
||||||
|
/// </summary>
|
||||||
|
public static string chatunmute_usage {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("chatunmute_usage", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to checkmyperms.
|
/// Looks up a localized string similar to checkmyperms.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -3876,7 +3930,7 @@ namespace NadekoBot.Resources {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to Moves permission from one position to another..
|
/// Looks up a localized string similar to Moves permission from one position to another in Permissions list..
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public static string moveperm_desc {
|
public static string moveperm_desc {
|
||||||
get {
|
get {
|
||||||
@ -4713,7 +4767,7 @@ namespace NadekoBot.Resources {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to Removes a permission from a given position.
|
/// Looks up a localized string similar to Removes a permission from a given position in Permissions list..
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public static string removeperm_desc {
|
public static string removeperm_desc {
|
||||||
get {
|
get {
|
||||||
@ -6269,33 +6323,6 @@ namespace NadekoBot.Resources {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Looks up a localized string similar to textmute.
|
|
||||||
/// </summary>
|
|
||||||
public static string textmute_cmd {
|
|
||||||
get {
|
|
||||||
return ResourceManager.GetString("textmute_cmd", resourceCulture);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Looks up a localized string similar to Prevents a mentioned user from chatting in text channels..
|
|
||||||
/// </summary>
|
|
||||||
public static string textmute_desc {
|
|
||||||
get {
|
|
||||||
return ResourceManager.GetString("textmute_desc", resourceCulture);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Looks up a localized string similar to `{0}textmute @Someone`.
|
|
||||||
/// </summary>
|
|
||||||
public static string textmute_usage {
|
|
||||||
get {
|
|
||||||
return ResourceManager.GetString("textmute_usage", resourceCulture);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to tl.
|
/// Looks up a localized string similar to tl.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -6593,6 +6620,33 @@ namespace NadekoBot.Resources {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to unmute.
|
||||||
|
/// </summary>
|
||||||
|
public static string unmute_cmd {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("unmute_cmd", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Unmutes a mentioned user previously muted with `{0}mute` command..
|
||||||
|
/// </summary>
|
||||||
|
public static string unmute_desc {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("unmute_desc", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to `{0}unmute @Someone`.
|
||||||
|
/// </summary>
|
||||||
|
public static string unmute_usage {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("unmute_usage", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to unstuck.
|
/// Looks up a localized string similar to unstuck.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -2430,14 +2430,14 @@
|
|||||||
<data name="antispam_usage" xml:space="preserve">
|
<data name="antispam_usage" xml:space="preserve">
|
||||||
<value>`{0}antispam 3 Mute` or `{0}antispam 4 Kick` or `{0}antispam 6 Ban`</value>
|
<value>`{0}antispam 3 Mute` or `{0}antispam 4 Kick` or `{0}antispam 6 Ban`</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="textmute_cmd" xml:space="preserve">
|
<data name="chatmute_cmd" xml:space="preserve">
|
||||||
<value>textmute</value>
|
<value>chatmute</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="textmute_desc" xml:space="preserve">
|
<data name="chatmute_desc" xml:space="preserve">
|
||||||
<value>Prevents a mentioned user from chatting in text channels.</value>
|
<value>Prevents a mentioned user from chatting in text channels.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="textmute_usage" xml:space="preserve">
|
<data name="chatmute_usage" xml:space="preserve">
|
||||||
<value>`{0}textmute @Someone`</value>
|
<value>`{0}chatmute @Someone`</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="voicemute_cmd" xml:space="preserve">
|
<data name="voicemute_cmd" xml:space="preserve">
|
||||||
<value>voicemute</value>
|
<value>voicemute</value>
|
||||||
@ -2484,4 +2484,22 @@
|
|||||||
<data name="setstream_usage" xml:space="preserve">
|
<data name="setstream_usage" xml:space="preserve">
|
||||||
<value>`{0}setstream https://www.twitch.tv/masterkwoth Developing Nakedo`</value>
|
<value>`{0}setstream https://www.twitch.tv/masterkwoth Developing Nakedo`</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="chatunmute_cmd" xml:space="preserve">
|
||||||
|
<value>chatunmute</value>
|
||||||
|
</data>
|
||||||
|
<data name="chatunmute_desc" xml:space="preserve">
|
||||||
|
<value>Removes a mute role previously set on a mentioned user with `{0}chatmute` which prevented him from chatting in text channels.</value>
|
||||||
|
</data>
|
||||||
|
<data name="chatunmute_usage" xml:space="preserve">
|
||||||
|
<value>`{0}chatunmute @Someone`</value>
|
||||||
|
</data>
|
||||||
|
<data name="unmute_cmd" xml:space="preserve">
|
||||||
|
<value>unmute</value>
|
||||||
|
</data>
|
||||||
|
<data name="unmute_desc" xml:space="preserve">
|
||||||
|
<value>Unmutes a mentioned user previously muted with `{0}mute` command.</value>
|
||||||
|
</data>
|
||||||
|
<data name="unmute_usage" xml:space="preserve">
|
||||||
|
<value>`{0}unmute @Someone`</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
|
Loading…
Reference in New Issue
Block a user