1
0
Fork 1
mirror of https://github.com/TeamOctolings/Octobot.git synced 2025-04-20 00:43:36 +03:00

Remora.Discord part 63 out of 63

This commit is contained in:
Macintxsh 2023-07-09 16:16:57 +03:00
parent eaf3ddf77e
commit a727a9d8bb
WARNING! Although there is a key with this ID in the database it does not verify this commit! This commit is SUSPICIOUS.
GPG key ID: 57156EBA2C282D9A
12 changed files with 68 additions and 37 deletions

View file

@ -16,7 +16,7 @@ using Remora.Results;
namespace Boyfriend.Commands; namespace Boyfriend.Commands;
/// <summary> /// <summary>
/// Handles the command to show information about this bot: /about /// Handles the command to show information about this bot: /about.
/// </summary> /// </summary>
public class AboutCommandGroup : CommandGroup { public class AboutCommandGroup : CommandGroup {
private static readonly string[] Developers = { "Octol1ttle", "mctaylors", "neroduckale" }; private static readonly string[] Developers = { "Octol1ttle", "mctaylors", "neroduckale" };
@ -41,7 +41,7 @@ public class AboutCommandGroup : CommandGroup {
/// A feedback sending result which may or may not have succeeded. /// A feedback sending result which may or may not have succeeded.
/// </returns> /// </returns>
[Command("about")] [Command("about")]
[Description("отображает список разработчиков")] [Description("Shows Boyfriend's developers")]
public async Task<Result> SendAboutBotAsync() { public async Task<Result> SendAboutBotAsync() {
if (!_context.TryGetContextIDs(out var guildId, out _, out _)) if (!_context.TryGetContextIDs(out var guildId, out _, out _))
return Result.FromError( return Result.FromError(
@ -59,8 +59,8 @@ public class AboutCommandGroup : CommandGroup {
builder.AppendLine($"@{dev} — {$"AboutDeveloper@{dev}".Localized()}"); builder.AppendLine($"@{dev} — {$"AboutDeveloper@{dev}".Localized()}");
builder.AppendLine() builder.AppendLine()
.AppendLine(Markdown.Bold(Messages.AboutTitleWiki)) .AppendLine(Markdown.Bold(Messages.AboutTitleWiki))
.AppendLine("https://github.com/TeamOctolings/Boyfriend/wiki"); .AppendLine("https://github.com/TeamOctolings/Boyfriend/wiki");
var embed = new EmbedBuilder().WithSmallTitle(Messages.AboutBot, currentUser) var embed = new EmbedBuilder().WithSmallTitle(Messages.AboutBot, currentUser)
.WithDescription(builder.ToString()) .WithDescription(builder.ToString())

View file

@ -61,11 +61,11 @@ public class BanCommandGroup : CommandGroup {
[RequireContext(ChannelContext.Guild)] [RequireContext(ChannelContext.Guild)]
[RequireDiscordPermission(DiscordPermission.BanMembers)] [RequireDiscordPermission(DiscordPermission.BanMembers)]
[RequireBotDiscordPermissions(DiscordPermission.BanMembers)] [RequireBotDiscordPermissions(DiscordPermission.BanMembers)]
[Description("банит юзера")] [Description("Ban user")]
public async Task<Result> BanUserAsync( public async Task<Result> BanUserAsync(
[Description("юзер кого банить")] IUser target, [Description("User to ban")] IUser target,
[Description("причина зачем банить")] string reason, [Description("Ban reason")] string reason,
[Description("продолжительность бана")] [Description("Ban duration")]
TimeSpan? duration = null) { TimeSpan? duration = null) {
if (!_context.TryGetContextIDs(out var guildId, out var channelId, out var userId)) if (!_context.TryGetContextIDs(out var guildId, out var channelId, out var userId))
return Result.FromError( return Result.FromError(
@ -197,10 +197,10 @@ public class BanCommandGroup : CommandGroup {
[RequireContext(ChannelContext.Guild)] [RequireContext(ChannelContext.Guild)]
[RequireDiscordPermission(DiscordPermission.BanMembers)] [RequireDiscordPermission(DiscordPermission.BanMembers)]
[RequireBotDiscordPermissions(DiscordPermission.BanMembers)] [RequireBotDiscordPermissions(DiscordPermission.BanMembers)]
[Description("разбанит юзера")] [Description("Unban user")]
public async Task<Result> UnbanUserAsync( public async Task<Result> UnbanUserAsync(
[Description("юзер кого разбанить")] IUser target, [Description("User to unban")] IUser target,
[Description("причина зачем разбанить")] [Description("Unban reason")]
string reason) { string reason) {
if (!_context.TryGetContextIDs(out var guildId, out var channelId, out var userId)) if (!_context.TryGetContextIDs(out var guildId, out var channelId, out var userId))
return Result.FromError( return Result.FromError(

View file

@ -51,9 +51,9 @@ public class ClearCommandGroup : CommandGroup {
[RequireContext(ChannelContext.Guild)] [RequireContext(ChannelContext.Guild)]
[RequireDiscordPermission(DiscordPermission.ManageMessages)] [RequireDiscordPermission(DiscordPermission.ManageMessages)]
[RequireBotDiscordPermissions(DiscordPermission.ManageMessages)] [RequireBotDiscordPermissions(DiscordPermission.ManageMessages)]
[Description("удаляет сообщения")] [Description("Remove multiple messages")]
public async Task<Result> ClearMessagesAsync( public async Task<Result> ClearMessagesAsync(
[Description("сколько удалять")] [MinValue(2)] [MaxValue(100)] [Description("Number of messages to remove (2-100)")] [MinValue(2)] [MaxValue(100)]
int amount) { int amount) {
if (!_context.TryGetContextIDs(out var guildId, out var channelId, out var userId)) if (!_context.TryGetContextIDs(out var guildId, out var channelId, out var userId))
return Result.FromError( return Result.FromError(

View file

@ -57,10 +57,10 @@ public class KickCommandGroup : CommandGroup {
[RequireContext(ChannelContext.Guild)] [RequireContext(ChannelContext.Guild)]
[RequireDiscordPermission(DiscordPermission.KickMembers)] [RequireDiscordPermission(DiscordPermission.KickMembers)]
[RequireBotDiscordPermissions(DiscordPermission.KickMembers)] [RequireBotDiscordPermissions(DiscordPermission.KickMembers)]
[Description("кикает юзера")] [Description("Kick member")]
public async Task<Result> KickUserAsync( public async Task<Result> KickUserAsync(
[Description("юзер кого кикать")] IUser target, [Description("Member to kick")] IUser target,
[Description("причина зачем кикать")] string reason) { [Description("Kick reason")] string reason) {
if (!_context.TryGetContextIDs(out var guildId, out var channelId, out var userId)) if (!_context.TryGetContextIDs(out var guildId, out var channelId, out var userId))
return Result.FromError( return Result.FromError(
new ArgumentNullError(nameof(_context), "Unable to retrieve necessary IDs from command context")); new ArgumentNullError(nameof(_context), "Unable to retrieve necessary IDs from command context"));

View file

@ -61,11 +61,11 @@ public class MuteCommandGroup : CommandGroup {
[RequireContext(ChannelContext.Guild)] [RequireContext(ChannelContext.Guild)]
[RequireDiscordPermission(DiscordPermission.ModerateMembers)] [RequireDiscordPermission(DiscordPermission.ModerateMembers)]
[RequireBotDiscordPermissions(DiscordPermission.ModerateMembers)] [RequireBotDiscordPermissions(DiscordPermission.ModerateMembers)]
[Description("глушит юзера")] [Description("Mute member")]
public async Task<Result> MuteUserAsync( public async Task<Result> MuteUserAsync(
[Description("юзер кого глушить")] IUser target, [Description("Member to mute")] IUser target,
[Description("причина зачем глушить")] string reason, [Description("Mute reason")] string reason,
[Description("продолжительность мута")] [Description("Mute duration")]
TimeSpan duration) { TimeSpan duration) {
if (!_context.TryGetContextIDs(out var guildId, out var channelId, out var userId)) if (!_context.TryGetContextIDs(out var guildId, out var channelId, out var userId))
return Result.FromError( return Result.FromError(
@ -173,11 +173,11 @@ public class MuteCommandGroup : CommandGroup {
[RequireContext(ChannelContext.Guild)] [RequireContext(ChannelContext.Guild)]
[RequireDiscordPermission(DiscordPermission.ModerateMembers)] [RequireDiscordPermission(DiscordPermission.ModerateMembers)]
[RequireBotDiscordPermissions(DiscordPermission.ModerateMembers)] [RequireBotDiscordPermissions(DiscordPermission.ModerateMembers)]
[Description("разрешает юзеру снова говорить")] [Description("Unmute member")]
public async Task<Result> UnmuteUserAsync( public async Task<Result> UnmuteUserAsync(
[Description("юзер кого раззамучивать")] [Description("Member to unmute")]
IUser target, IUser target,
[Description("причина зачем раззамучивать")] [Description("Unmute reason")]
string reason) { string reason) {
if (!_context.TryGetContextIDs(out var guildId, out var channelId, out var userId)) if (!_context.TryGetContextIDs(out var guildId, out var channelId, out var userId))
return Result.FromError( return Result.FromError(

View file

@ -43,7 +43,7 @@ public class PingCommandGroup : CommandGroup {
/// A feedback sending result which may or may not have succeeded. /// A feedback sending result which may or may not have succeeded.
/// </returns> /// </returns>
[Command("ping", "пинг")] [Command("ping", "пинг")]
[Description("получает задержку")] [Description("Get bot latency")]
public async Task<Result> SendPingAsync() { public async Task<Result> SendPingAsync() {
if (!_context.TryGetContextIDs(out var guildId, out var channelId, out _)) if (!_context.TryGetContextIDs(out var guildId, out var channelId, out _))
return Result.FromError( return Result.FromError(

View file

@ -34,7 +34,7 @@ public class RemindCommandGroup : CommandGroup {
} }
[Command("remind")] [Command("remind")]
[Description("крафтит напоминалки")] [Description("Create a reminder")]
public async Task<Result> AddReminderAsync(TimeSpan duration, string text) { public async Task<Result> AddReminderAsync(TimeSpan duration, string text) {
if (!_context.TryGetContextIDs(out var guildId, out var channelId, out var userId)) if (!_context.TryGetContextIDs(out var guildId, out var channelId, out var userId))
return Result.FromError( return Result.FromError(

View file

@ -21,7 +21,7 @@ using Remora.Results;
namespace Boyfriend.Commands; namespace Boyfriend.Commands;
/// <summary> /// <summary>
/// Handles the command to show information about this bot: /about /// Handles the commands to list and modify per-guild settings: /settings and /settings list.
/// </summary> /// </summary>
public class SettingsCommandGroup : CommandGroup { public class SettingsCommandGroup : CommandGroup {
private readonly ICommandContext _context; private readonly ICommandContext _context;
@ -38,8 +38,14 @@ public class SettingsCommandGroup : CommandGroup {
_userApi = userApi; _userApi = userApi;
} }
[Command("settingslist")] /// <summary>
[Description("ХАХАХАХАХАХ я ебанулся")] /// A slash command that lists current per-guild settings.
/// </summary>
/// <returns>
/// A feedback sending result which may or may not have succeeded.
/// </returns>
[Command("settings list")]
[Description("Shows settings list for this server")]
[SuppressInteractionResponse(suppress: true)] [SuppressInteractionResponse(suppress: true)]
public async Task<Result> SendSettingsListAsync() { public async Task<Result> SendSettingsListAsync() {
if (!_context.TryGetContextIDs(out var guildId, out _, out _)) if (!_context.TryGetContextIDs(out var guildId, out _, out _))
@ -76,13 +82,13 @@ public class SettingsCommandGroup : CommandGroup {
} }
/// <summary> /// <summary>
/// A slash command that shows information about this bot. /// A slash command that modifies per-guild settings.
/// </summary> /// </summary>
/// <returns> /// <returns>
/// A feedback sending result which may or may not have succeeded. /// A feedback sending result which may or may not have succeeded.
/// </returns> /// </returns>
[Command("settings")] [Command("settings")]
[Description("редактирует НАСТРОЙКИ ХАХАХАХАХА")] [Description("Change settings for this server")]
public async Task<Result> EditSettingsAsync( public async Task<Result> EditSettingsAsync(
[Description("настройка")] string setting, [Description("настройка")] string setting,
[Description("значение")] string value) { [Description("значение")] string value) {
@ -135,7 +141,14 @@ public class SettingsCommandGroup : CommandGroup {
return (Result)await _feedbackService.SendContextualEmbedAsync(failedBuilt, ct: CancellationToken); return (Result)await _feedbackService.SendContextualEmbedAsync(failedBuilt, ct: CancellationToken);
} }
var builder = new StringBuilder();
builder.Append(Markdown.InlineCode(setting))
.Append($" {Messages.SettingIsNow} ")
.Append(Markdown.InlineCode(value));
var embed = new EmbedBuilder().WithSmallTitle(Messages.SettingSuccessfulyChanged, currentUser) var embed = new EmbedBuilder().WithSmallTitle(Messages.SettingSuccessfulyChanged, currentUser)
.WithDescription(builder.ToString())
.WithColour(ColorsList.Green) .WithColour(ColorsList.Green)
.Build(); .Build();
if (!embed.IsDefined(out var built)) return Result.FromError(embed); if (!embed.IsDefined(out var built)) return Result.FromError(embed);

11
Messages.Designer.cs generated
View file

@ -699,7 +699,7 @@ namespace Boyfriend {
} }
/// <summary> /// <summary>
/// Looks up a localized string similar to Language not supported! Supported languages:. /// Looks up a localized string similar to Language not supported!.
/// </summary> /// </summary>
internal static string LanguageNotSupported { internal static string LanguageNotSupported {
get { get {
@ -896,6 +896,15 @@ namespace Boyfriend {
} }
} }
/// <summary>
/// Looks up a localized string similar to is now.
/// </summary>
internal static string SettingIsNow {
get {
return ResourceManager.GetString("SettingIsNow", resourceCulture);
}
}
/// <summary> /// <summary>
/// Looks up a localized string similar to Setting not changed. /// Looks up a localized string similar to Setting not changed.
/// </summary> /// </summary>

View file

@ -184,8 +184,8 @@
<value>Mute role</value> <value>Mute role</value>
</data> </data>
<data name="LanguageNotSupported" xml:space="preserve"> <data name="LanguageNotSupported" xml:space="preserve">
<value>Language not supported! Supported languages:</value> <value>Language not supported!</value>
</data> </data>
<data name="Yes" xml:space="preserve"> <data name="Yes" xml:space="preserve">
<value>Yes</value> <value>Yes</value>
</data> </data>
@ -555,4 +555,7 @@
<data name="SettingNotChanged" xml:space="preserve"> <data name="SettingNotChanged" xml:space="preserve">
<value>Setting not changed</value> <value>Setting not changed</value>
</data> </data>
<data name="SettingIsNow" xml:space="preserve">
<value>is now</value>
</data>
</root> </root>

View file

@ -181,8 +181,8 @@
<value>Роль мута</value> <value>Роль мута</value>
</data> </data>
<data name="LanguageNotSupported" xml:space="preserve"> <data name="LanguageNotSupported" xml:space="preserve">
<value>Язык не поддерживается! Поддерживаемые языки:</value> <value>Язык не поддерживается! </value>
</data> </data>
<data name="Yes" xml:space="preserve"> <data name="Yes" xml:space="preserve">
<value>Да</value> <value>Да</value>
</data> </data>
@ -555,4 +555,7 @@
<data name="SettingNotChanged" xml:space="preserve"> <data name="SettingNotChanged" xml:space="preserve">
<value>Настройка не редактирована</value> <value>Настройка не редактирована</value>
</data> </data>
<data name="SettingIsNow" xml:space="preserve">
<value>теперь имеет значение</value>
</data>
</root> </root>

View file

@ -184,8 +184,8 @@
<value>звание замученного</value> <value>звание замученного</value>
</data> </data>
<data name="LanguageNotSupported" xml:space="preserve"> <data name="LanguageNotSupported" xml:space="preserve">
<value>такого языка нету, ты шо, есть только такие:</value> <value>такого языка нету...</value>
</data> </data>
<data name="Yes" xml:space="preserve"> <data name="Yes" xml:space="preserve">
<value>да</value> <value>да</value>
</data> </data>
@ -555,4 +555,7 @@
<data name="SettingNotChanged" xml:space="preserve"> <data name="SettingNotChanged" xml:space="preserve">
<value>прикол сдох</value> <value>прикол сдох</value>
</data> </data>
<data name="SettingIsNow" xml:space="preserve">
<value>стало</value>
</data>
</root> </root>