Rebrand to Octobot (#128)

We're moving!

---------

Signed-off-by: Macintosh II <mctaylxrs@outlook.com>
Signed-off-by: Macintosh II <95250141+mctaylors@users.noreply.github.com>
Co-authored-by: Octol1ttle <l1ttleofficial@outlook.com>
This commit is contained in:
Macintxsh 2023-09-30 16:58:32 +03:00 committed by GitHub
parent 2e2f50908e
commit 804bcd6e68
Signed by: GitHub
GPG key ID: 4AEE18F83AFDEB23
53 changed files with 174 additions and 171 deletions

4
.github/CODEOWNERS vendored
View file

@ -1,2 +1,2 @@
* @LabsDevelopment/boyfriend
/docs/ @LabsDevelopment/boyfriend-docs
* @LabsDevelopment/octobot
/docs/ @LabsDevelopment/octobot-docs

View file

@ -25,7 +25,7 @@ jobs:
- name: ReSharper CLI InspectCode
uses: muno92/resharper_inspectcode@1.8.3
with:
solutionPath: ./Boyfriend.sln
solutionPath: ./Octobot.sln
ignoreIssueType: InvertIf, ConvertIfStatementToSwitchStatement
extensions: ReSharperPlugin.CognitiveComplexity
solutionWideAnalysis: true

View file

@ -9,7 +9,7 @@ on:
jobs:
upload-solution:
name: Upload Boyfriend to production
name: Upload Octobot to production
runs-on: ubuntu-latest
permissions:
actions: read

View file

@ -6,29 +6,29 @@
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<Version>2.0.0</Version>
<Title>Boyfriend</Title>
<Title>Octobot</Title>
<Authors>Octol1ttle, mctaylors, neroduckale</Authors>
<Copyright>AGPLv3</Copyright>
<PackageProjectUrl>https://github.com/LabsDevelopment/Boyfriend</PackageProjectUrl>
<PackageLicenseUrl>https://github.com/LabsDevelopment/Boyfriend/blob/master/LICENSE</PackageLicenseUrl>
<RepositoryUrl>https://github.com/LabsDevelopment/Boyfriend</RepositoryUrl>
<PackageProjectUrl>https://github.com/LabsDevelopment/Octobot</PackageProjectUrl>
<PackageLicenseUrl>https://github.com/LabsDevelopment/Octobot/blob/master/LICENSE</PackageLicenseUrl>
<RepositoryUrl>https://github.com/LabsDevelopment/Octobot</RepositoryUrl>
<RepositoryType>github</RepositoryType>
<Company>TeamOctolings</Company>
<Company>LabsDevelopment</Company>
<NeutralLanguage>en</NeutralLanguage>
<Description>A legacy-driven Discord bot written in C#</Description>
<Description>A general-purpose Discord bot for moderation written in C#</Description>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="DiffPlex" Version="1.7.1"/>
<PackageReference Include="Humanizer.Core.ru" Version="2.14.1"/>
<PackageReference Include="JetBrains.Annotations" Version="2023.2.0"/>
<PackageReference Include="Microsoft.CodeAnalysis.BannedApiAnalyzers" Version="3.3.4"/>
<PackageReference Include="Microsoft.Extensions.Hosting" Version="7.0.1"/>
<PackageReference Include="Remora.Discord.Caching" Version="37.0.0"/>
<PackageReference Include="Remora.Discord.Extensions" Version="5.3.2"/>
<PackageReference Include="Remora.Discord.Hosting" Version="6.0.7"/>
<PackageReference Include="Remora.Discord.Interactivity" Version="4.5.1"/>
<PackageReference Include="Serilog.Extensions.Logging.File" Version="3.0.0"/>
<PackageReference Include="DiffPlex" Version="1.7.1" />
<PackageReference Include="Humanizer.Core.ru" Version="2.14.1" />
<PackageReference Include="JetBrains.Annotations" Version="2023.2.0" />
<PackageReference Include="Microsoft.CodeAnalysis.BannedApiAnalyzers" Version="3.3.4" />
<PackageReference Include="Microsoft.Extensions.Hosting" Version="7.0.1" />
<PackageReference Include="Remora.Discord.Caching" Version="37.0.0" />
<PackageReference Include="Remora.Discord.Extensions" Version="5.3.2" />
<PackageReference Include="Remora.Discord.Hosting" Version="6.0.7" />
<PackageReference Include="Remora.Discord.Interactivity" Version="4.5.1" />
<PackageReference Include="Serilog.Extensions.Logging.File" Version="3.0.0" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Update="locale\Messages.resx">
@ -37,6 +37,6 @@
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<AdditionalFiles Include="CodeAnalysis\BannedSymbols.txt"/>
<AdditionalFiles Include="CodeAnalysis\BannedSymbols.txt" />
</ItemGroup>
</Project>

View file

@ -1,6 +1,6 @@

Microsoft Visual Studio Solution File, Format Version 12.00
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Boyfriend", "Boyfriend.csproj", "{9CA7A44F-167C-46D4-923D-88CE71044144}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Octobot", "Octobot.csproj", "{9CA7A44F-167C-46D4-923D-88CE71044144}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution

View file

@ -1,6 +1,6 @@
# Contributing Guidelines
Thank you for showing interest in the development of Boyfriend. We aim to provide a good collaborating environment for
Thank you for showing interest in the development of Octobot. We aim to provide a good collaborating environment for
everyone involved, and as such have decided to list some of the most important things to keep in mind in the process.
Before starting, please read our [Code of Conduct](CODE_OF_CONDUCT.md)
@ -29,7 +29,7 @@ While pull requests from unaffiliated contributors are welcome, please note that
internal issues that haven't been published to the issue tracker yet. Reviewing PRs is done on a best-effort basis, so
please be aware that it may take a while before a core maintainer gets around to review your change.
The [issue tracker](https://github.com/LabsDevelopment/Boyfriend/issues) should provide plenty of issues to start with.
The [issue tracker](https://github.com/LabsDevelopment/Octobot/issues) should provide plenty of issues to start with.
Make sure to check that an issue you're planning to resolve does not already have people working on it and that there
are no PRs associated with it
@ -62,7 +62,7 @@ After you're done with your changes and you wish to open the PR, please observe
- Please do not merge `master` continually if there are no conflicts to resolve. We will do this for you when the change
is ready for merge.
We are highly committed to quality when it comes to Boyfriend. This means that contributions from less experienced
We are highly committed to quality when it comes to Octobot. This means that contributions from less experienced
community members can take multiple rounds of review to get to a mergeable state. We try our utmost best to never
conflate a person with the code they authored, and to keep the discussion focused on the code at all times. Please
consider our comments and requests a learning experience.

View file

@ -1,12 +1,12 @@
<p align="center">
<img src="https://mctaylors.ddns.net/cdn/boyfriend-banner-light-padding.png" alt="Boyfriend banner" width="75%"/>
<img src="https://mctaylors.ddns.net/cdn/octobot-banner.png" alt="Octobot banner"/>
</p>
![License](https://img.shields.io/github/license/LabsDevelopment/Boyfriend)
![Workflow Status](https://img.shields.io/github/actions/workflow/status/LabsDevelopment/Boyfriend/.github/workflows/build-push.yml?branch=master&logo=ReSharper)
![Last Commit](https://img.shields.io/github/last-commit/LabsDevelopment/Boyfriend)
![License](https://img.shields.io/github/license/LabsDevelopment/Octobot)
![Workflow Status](https://img.shields.io/github/actions/workflow/status/LabsDevelopment/Octobot/.github/workflows/build-push.yml?branch=master&logo=ReSharper)
![Last Commit](https://img.shields.io/github/last-commit/LabsDevelopment/Octobot)
Beep! I'm a general-purpose bot for moderation written by [@Octol1ttle](https://github.com/Octol1ttle) in C# and Remora.Discord
Veemo! I'm a general-purpose bot for moderation (formerly known as Boyfriend) written by [Labs Development Team](https://github.com/LabsDevelopment) in C# and Remora.Discord
## Features
@ -17,9 +17,9 @@ Beep! I'm a general-purpose bot for moderation written by [@Octol1ttle](https://
*...and more!*
## Installing and running Boyfriend
## Installing and running Octobot
You can read our [wiki](https://github.com/LabsDevelopment/Boyfriend/wiki) in order to assemble your Boyfriend™ and
You can read our [wiki](https://github.com/LabsDevelopment/Octobot/wiki) in order to assemble your Octobot and
moderate the server.
## Contributing
@ -33,8 +33,11 @@ the most effective way possible.
![JetBrains Logo (Main) logo](https://resources.jetbrains.com/storage/products/company/brand/logos/jb_beam.svg)
[JetBrains](https://www.jetbrains.com/), creators of [ReSharper](https://www.jetbrains.com/resharper)
and [Rider](https://www.jetbrains.com/rider), supports Boyfriend with one of
and [Rider](https://www.jetbrains.com/rider), supports Octobot with one of
their [Open Source Licenses](https://jb.gg/OpenSourceSupport).
Rider is the recommended IDE when working with Boyfriend, and everyone on the Boyfriend team uses it.
Rider is the recommended IDE when working with Octobot, and everyone on the Octobot team uses it.
Additionally, ReSharper command-line tools made by JetBrains are used for status checks on pull requests to ensure code
quality even when not using ReSharper or Rider.
#
<sup>Not an official Splatoon™ product. We are in no way affiliated with or endorsed by Nintendo Company, or other rightsholders.</sup>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 224 KiB

View file

@ -120,14 +120,14 @@
<data name="DefaultWelcomeMessage" xml:space="preserve">
<value>{0}, welcome to {1}</value>
</data>
<data name="Beep1" xml:space="preserve">
<value>Bah!</value>
<data name="Sound1" xml:space="preserve">
<value>Veemo!</value>
</data>
<data name="Beep2" xml:space="preserve">
<value>Bop!</value>
<data name="Sound2" xml:space="preserve">
<value>Woomy!</value>
</data>
<data name="Beep3" xml:space="preserve">
<value>Beep!</value>
<data name="Sound3" xml:space="preserve">
<value>Ngyes!</value>
</data>
<data name="CommandNoPermissionBot" xml:space="preserve">
<value>I do not have permission to execute this command!</value>
@ -520,13 +520,13 @@
<value>Developers:</value>
</data>
<data name="AboutTitleRepository" xml:space="preserve">
<value>Boyfriend's source code</value>
<value>Octobot's source code</value>
</data>
<data name="AboutBot" xml:space="preserve">
<value>About Boyfriend</value>
<value>About Octobot</value>
</data>
<data name="AboutDeveloper@mctaylors" xml:space="preserve">
<value>developer &amp; designer, Boyfriend's Wiki creator</value>
<value>developer &amp; designer, Octobot's Wiki creator</value>
</data>
<data name="AboutDeveloper@Octol1ttle" xml:space="preserve">
<value>main developer</value>
@ -544,7 +544,7 @@
<value>You asked me to remind you {0}</value>
</data>
<data name="SettingsListTitle" xml:space="preserve">
<value>Boyfriend's Settings</value>
<value>Octobot's Settings</value>
</data>
<data name="SettingSuccessfullyChanged" xml:space="preserve">
<value>Setting successfully changed</value>

View file

@ -120,14 +120,14 @@
<data name="DefaultWelcomeMessage" xml:space="preserve">
<value>{0}, добро пожаловать на сервер {1}</value>
</data>
<data name="Beep1" xml:space="preserve">
<value>Бап!</value>
<data name="Sound1" xml:space="preserve">
<value>Виимо!</value>
</data>
<data name="Beep2" xml:space="preserve">
<value>Боп!</value>
<data name="Sound2" xml:space="preserve">
<value>Вууми!</value>
</data>
<data name="Beep3" xml:space="preserve">
<value>Бип!</value>
<data name="Sound3" xml:space="preserve">
<value>Нгьес!</value>
</data>
<data name="CommandNoPermissionBot" xml:space="preserve">
<value>У меня недостаточно прав для выполнения этой команды!</value>
@ -520,10 +520,10 @@
<value>Разработчики:</value>
</data>
<data name="AboutTitleRepository" xml:space="preserve">
<value>Исходный код Boyfriend</value>
<value>Исходный код Octobot</value>
</data>
<data name="AboutBot" xml:space="preserve">
<value>О Boyfriend</value>
<value>Об Octobot</value>
</data>
<data name="AboutDeveloper@neroduckale" xml:space="preserve">
<value>разработчик</value>
@ -532,7 +532,7 @@
<value>основной разработчик</value>
</data>
<data name="AboutDeveloper@mctaylors" xml:space="preserve">
<value>разработчик и дизайнер, создатель Boyfriend's Wiki</value>
<value>разработчик и дизайнер, создатель Octobot's Wiki</value>
</data>
<data name="ReminderCreated" xml:space="preserve">
<value>Напоминание для {0} создано</value>
@ -544,7 +544,7 @@
<value>Вы просили напомнить вам {0}</value>
</data>
<data name="SettingsListTitle" xml:space="preserve">
<value>Настройки Boyfriend</value>
<value>Настройки Octobot</value>
</data>
<data name="SettingSuccessfullyChanged" xml:space="preserve">
<value>Настройка успешно изменена</value>

View file

@ -120,14 +120,14 @@
<data name="DefaultWelcomeMessage" xml:space="preserve">
<value>{0}, добро пожаловать на сервер {1}</value>
</data>
<data name="Beep1" xml:space="preserve">
<value>брах!</value>
<data name="Sound1" xml:space="preserve">
<value>вииимо!</value>
</data>
<data name="Beep2" xml:space="preserve">
<value>брох!</value>
<data name="Sound2" xml:space="preserve">
<value>вуууми!</value>
</data>
<data name="Beep3" xml:space="preserve">
<value>брух!</value>
<data name="Sound3" xml:space="preserve">
<value>нгьес!</value>
</data>
<data name="CommandNoPermissionBot" xml:space="preserve">
<value>у меня прав нету, сделай что нибудь.</value>
@ -520,13 +520,13 @@
<value>девелоперы:</value>
</data>
<data name="AboutTitleRepository" xml:space="preserve">
<value>репа Boyfriend (тык)</value>
<value>репа Octobot (тык)</value>
</data>
<data name="AboutBot" xml:space="preserve">
<value>немного о Boyfriend</value>
<value>немного об Octobot</value>
</data>
<data name="AboutDeveloper@mctaylors" xml:space="preserve">
<value>скучный девелопер + дизайнер создавший Boyfriend's Wiki</value>
<value>скучный девелопер + дизайнер создавший Octobot's Wiki</value>
</data>
<data name="AboutDeveloper@neroduckale" xml:space="preserve">
<value>ВАЖНЫЙ соучастник кодинг-стримов @Octol1ttle</value>
@ -544,7 +544,7 @@
<value>ты хотел чтоб я напомнил тебе {0}</value>
</data>
<data name="SettingsListTitle" xml:space="preserve">
<value>приколы Boyfriend</value>
<value>приколы Octobot</value>
</data>
<data name="SettingSuccessfullyChanged" xml:space="preserve">
<value>прикол редактирован</value>

View file

@ -1,6 +1,6 @@
using System.Drawing;
namespace Boyfriend;
namespace Octobot;
/// <summary>
/// Contains all colors used in embeds.

View file

@ -1,8 +1,8 @@
using System.ComponentModel;
using System.Text;
using Boyfriend.Data;
using Boyfriend.Services;
using JetBrains.Annotations;
using Octobot.Data;
using Octobot.Services;
using Remora.Commands.Attributes;
using Remora.Commands.Groups;
using Remora.Discord.API.Abstractions.Objects;
@ -15,7 +15,7 @@ using Remora.Discord.Extensions.Embeds;
using Remora.Rest.Core;
using Remora.Results;
namespace Boyfriend.Commands;
namespace Octobot.Commands;
/// <summary>
/// Handles the command to show information about this bot: /about.
@ -57,7 +57,7 @@ public class AboutCommandGroup : CommandGroup
[Command("about")]
[DiscordDefaultDMPermission(false)]
[RequireContext(ChannelContext.Guild)]
[Description("Shows Boyfriend's developers")]
[Description("Shows Octobot's developers")]
[UsedImplicitly]
public async Task<Result> ExecuteAboutAsync()
{
@ -90,12 +90,12 @@ public class AboutCommandGroup : CommandGroup
builder.AppendLine($"- {tag} — {$"AboutDeveloper@{dev.Username}".Localized()}");
}
builder.Append($"### [{Messages.AboutTitleRepository}](https://github.com/LabsDevelopment/Boyfriend)");
builder.Append($"### [{Messages.AboutTitleRepository}](https://github.com/LabsDevelopment/Octobot)");
var embed = new EmbedBuilder().WithSmallTitle(Messages.AboutBot, currentUser)
.WithDescription(builder.ToString())
.WithColour(ColorsList.Cyan)
.WithImageUrl("https://mctaylors.ddns.net/cdn/boyfriend-banner-light.png")
.WithImageUrl("https://mctaylors.ddns.net/cdn/octobot-banner.png")
.Build();
return await _feedback.SendContextualEmbedResultAsync(embed, ct);

View file

@ -1,9 +1,9 @@
using System.ComponentModel;
using System.Text;
using Boyfriend.Data;
using Boyfriend.Services;
using Boyfriend.Services.Update;
using JetBrains.Annotations;
using Octobot.Data;
using Octobot.Services;
using Octobot.Services.Update;
using Remora.Commands.Attributes;
using Remora.Commands.Groups;
using Remora.Discord.API.Abstractions.Objects;
@ -17,7 +17,7 @@ using Remora.Discord.Extensions.Formatting;
using Remora.Rest.Core;
using Remora.Results;
namespace Boyfriend.Commands;
namespace Octobot.Commands;
/// <summary>
/// Handles commands related to ban management: /ban and /unban.

View file

@ -1,8 +1,8 @@
using System.ComponentModel;
using System.Text;
using Boyfriend.Data;
using Boyfriend.Services;
using JetBrains.Annotations;
using Octobot.Data;
using Octobot.Services;
using Remora.Commands.Attributes;
using Remora.Commands.Groups;
using Remora.Discord.API.Abstractions.Objects;
@ -16,7 +16,7 @@ using Remora.Discord.Extensions.Formatting;
using Remora.Rest.Core;
using Remora.Results;
namespace Boyfriend.Commands;
namespace Octobot.Commands;
/// <summary>
/// Handles the command to clear messages in a channel: /clear.
@ -100,7 +100,7 @@ public class ClearCommandGroup : CommandGroup
{
var idList = new List<Snowflake>(messages.Count);
var builder = new StringBuilder().AppendLine(Mention.Channel(channelId)).AppendLine();
for (var i = messages.Count - 1; i >= 1; i--) // '>= 1' to skip last message ('Boyfriend is thinking...')
for (var i = messages.Count - 1; i >= 1; i--) // '>= 1' to skip last message ('Octobot is thinking...')
{
var message = messages[i];
idList.Add(message.ID);

View file

@ -4,7 +4,7 @@ using Remora.Discord.Commands.Contexts;
using Remora.Discord.Commands.Services;
using Remora.Results;
namespace Boyfriend.Commands.Events;
namespace Octobot.Commands.Events;
/// <summary>
/// Handles error logging for slash command groups.

View file

@ -4,7 +4,7 @@ using Remora.Discord.Commands.Contexts;
using Remora.Discord.Commands.Services;
using Remora.Results;
namespace Boyfriend.Commands.Events;
namespace Octobot.Commands.Events;
/// <summary>
/// Handles error logging for slash commands that couldn't be successfully prepared.

View file

@ -1,7 +1,7 @@
using System.ComponentModel;
using Boyfriend.Data;
using Boyfriend.Services;
using JetBrains.Annotations;
using Octobot.Data;
using Octobot.Services;
using Remora.Commands.Attributes;
using Remora.Commands.Groups;
using Remora.Discord.API.Abstractions.Objects;
@ -14,7 +14,7 @@ using Remora.Discord.Extensions.Embeds;
using Remora.Rest.Core;
using Remora.Results;
namespace Boyfriend.Commands;
namespace Octobot.Commands;
/// <summary>
/// Handles the command to kick members of a guild: /kick.

View file

@ -1,9 +1,9 @@
using System.ComponentModel;
using System.Text;
using Boyfriend.Data;
using Boyfriend.Services;
using Boyfriend.Services.Update;
using JetBrains.Annotations;
using Octobot.Data;
using Octobot.Services;
using Octobot.Services.Update;
using Remora.Commands.Attributes;
using Remora.Commands.Groups;
using Remora.Discord.API.Abstractions.Objects;
@ -17,7 +17,7 @@ using Remora.Discord.Extensions.Formatting;
using Remora.Rest.Core;
using Remora.Results;
namespace Boyfriend.Commands;
namespace Octobot.Commands;
/// <summary>
/// Handles commands related to mute management: /mute and /unmute.

View file

@ -1,7 +1,7 @@
using System.ComponentModel;
using Boyfriend.Data;
using Boyfriend.Services;
using JetBrains.Annotations;
using Octobot.Data;
using Octobot.Services;
using Remora.Commands.Attributes;
using Remora.Commands.Groups;
using Remora.Discord.API.Abstractions.Objects;
@ -15,7 +15,7 @@ using Remora.Discord.Gateway;
using Remora.Rest.Core;
using Remora.Results;
namespace Boyfriend.Commands;
namespace Octobot.Commands;
/// <summary>
/// Handles the command to get the time taken for the gateway to respond to the last heartbeat: /ping
@ -78,7 +78,7 @@ public class PingCommandGroup : CommandGroup
var latency = _client.Latency.TotalMilliseconds;
if (latency is 0)
{
// No heartbeat has occurred, estimate latency from local time and "Boyfriend is thinking..." message
// No heartbeat has occurred, estimate latency from local time and "Octobot is thinking..." message
var lastMessageResult = await _channelApi.GetChannelMessagesAsync(
channelId, limit: 1, ct: ct);
if (!lastMessageResult.IsDefined(out var lastMessage))
@ -90,7 +90,7 @@ public class PingCommandGroup : CommandGroup
}
var embed = new EmbedBuilder().WithSmallTitle(currentUser.GetTag(), currentUser)
.WithTitle($"Beep{Random.Shared.Next(1, 4)}".Localized())
.WithTitle($"Sound{Random.Shared.Next(1, 4)}".Localized())
.WithDescription($"{latency:F0}{Messages.Milliseconds}")
.WithColour(latency < 250 ? ColorsList.Green : latency < 500 ? ColorsList.Yellow : ColorsList.Red)
.WithCurrentTimestamp()

View file

@ -1,8 +1,8 @@
using System.ComponentModel;
using System.Text;
using Boyfriend.Data;
using Boyfriend.Services;
using JetBrains.Annotations;
using Octobot.Data;
using Octobot.Services;
using Remora.Commands.Attributes;
using Remora.Commands.Groups;
using Remora.Discord.API.Abstractions.Objects;
@ -16,7 +16,7 @@ using Remora.Discord.Extensions.Formatting;
using Remora.Rest.Core;
using Remora.Results;
namespace Boyfriend.Commands;
namespace Octobot.Commands;
/// <summary>
/// Handles commands to manage reminders: /remind, /listremind, /delremind

View file

@ -1,10 +1,10 @@
using System.ComponentModel;
using System.Text;
using System.Text.Json.Nodes;
using Boyfriend.Data;
using Boyfriend.Data.Options;
using Boyfriend.Services;
using JetBrains.Annotations;
using Octobot.Data;
using Octobot.Data.Options;
using Octobot.Services;
using Remora.Commands.Attributes;
using Remora.Commands.Groups;
using Remora.Discord.API.Abstractions.Objects;
@ -18,7 +18,7 @@ using Remora.Discord.Extensions.Formatting;
using Remora.Rest.Core;
using Remora.Results;
namespace Boyfriend.Commands;
namespace Octobot.Commands;
/// <summary>
/// Handles the commands to list and modify per-guild settings: /settings and /settings list.

View file

@ -1,9 +1,9 @@
using System.ComponentModel;
using System.Drawing;
using System.Text;
using Boyfriend.Data;
using Boyfriend.Services;
using JetBrains.Annotations;
using Octobot.Data;
using Octobot.Services;
using Remora.Commands.Attributes;
using Remora.Commands.Groups;
using Remora.Discord.API.Abstractions.Objects;
@ -16,7 +16,7 @@ using Remora.Discord.Extensions.Formatting;
using Remora.Rest.Core;
using Remora.Results;
namespace Boyfriend.Commands;
namespace Octobot.Commands;
/// <summary>
/// Handles tool commands: /showinfo, /random.

View file

@ -1,7 +1,7 @@
using System.Text.Json.Nodes;
using Remora.Rest.Core;
namespace Boyfriend.Data;
namespace Octobot.Data;
/// <summary>
/// Stores information about a guild. This information is not accessible via the Discord API.

View file

@ -1,8 +1,8 @@
using Boyfriend.Data.Options;
using Boyfriend.Responders;
using Octobot.Data.Options;
using Octobot.Responders;
using Remora.Discord.API.Abstractions.Objects;
namespace Boyfriend.Data;
namespace Octobot.Data;
/// <summary>
/// Contains all per-guild settings that can be set by a member

View file

@ -1,4 +1,4 @@
namespace Boyfriend.Data;
namespace Octobot.Data;
/// <summary>
/// Stores information about a member

View file

@ -1,7 +1,7 @@
using Boyfriend.Commands;
using JetBrains.Annotations;
using Octobot.Commands;
namespace Boyfriend.Data.Options;
namespace Octobot.Data.Options;
/// <summary>
/// Represents all options as enums.

View file

@ -1,7 +1,7 @@
using System.Text.Json.Nodes;
using Remora.Results;
namespace Boyfriend.Data.Options;
namespace Octobot.Data.Options;
public sealed class BoolOption : Option<bool>
{

View file

@ -1,7 +1,7 @@
using System.Text.Json.Nodes;
using Remora.Results;
namespace Boyfriend.Data.Options;
namespace Octobot.Data.Options;
public interface IOption
{

View file

@ -3,7 +3,7 @@ using System.Text.Json.Nodes;
using Remora.Discord.Extensions.Formatting;
using Remora.Results;
namespace Boyfriend.Data.Options;
namespace Octobot.Data.Options;
/// <inheritdoc />
public sealed class LanguageOption : Option<CultureInfo>

View file

@ -2,7 +2,7 @@ using System.Text.Json.Nodes;
using Remora.Discord.Extensions.Formatting;
using Remora.Results;
namespace Boyfriend.Data.Options;
namespace Octobot.Data.Options;
/// <summary>
/// Represents an per-guild option.

View file

@ -4,7 +4,7 @@ using Remora.Discord.Extensions.Formatting;
using Remora.Rest.Core;
using Remora.Results;
namespace Boyfriend.Data.Options;
namespace Octobot.Data.Options;
public sealed partial class SnowflakeOption : Option<Snowflake>
{

View file

@ -2,7 +2,7 @@ using System.Text.Json.Nodes;
using Remora.Commands.Parsers;
using Remora.Results;
namespace Boyfriend.Data.Options;
namespace Octobot.Data.Options;
public sealed class TimeSpanOption : Option<TimeSpan>
{

View file

@ -1,4 +1,4 @@
namespace Boyfriend.Data;
namespace Octobot.Data;
public struct Reminder
{

View file

@ -1,7 +1,7 @@
using System.Text.Json.Serialization;
using Remora.Discord.API.Abstractions.Objects;
namespace Boyfriend.Data;
namespace Octobot.Data;
/// <summary>
/// Stores information about scheduled events. This information is not provided by the Discord API.

View file

@ -13,7 +13,7 @@ using Remora.Discord.Extensions.Formatting;
using Remora.Rest.Core;
using Remora.Results;
namespace Boyfriend;
namespace Octobot;
public static class Extensions
{

View file

@ -5,7 +5,7 @@ using Remora.Discord.Commands.Feedback.Services;
using Remora.Discord.Interactivity;
using Remora.Results;
namespace Boyfriend;
namespace Octobot;
/// <summary>
/// Handles responding to various interactions.

View file

@ -7,7 +7,7 @@
// </auto-generated>
//------------------------------------------------------------------------------
namespace Boyfriend {
namespace Octobot {
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
@ -25,7 +25,7 @@ namespace Boyfriend {
internal static System.Resources.ResourceManager ResourceManager {
get {
if (object.Equals(null, resourceMan)) {
System.Resources.ResourceManager temp = new System.Resources.ResourceManager("Boyfriend.locale.Messages", typeof(Messages).Assembly);
System.Resources.ResourceManager temp = new System.Resources.ResourceManager("Octobot.locale.Messages", typeof(Messages).Assembly);
resourceMan = temp;
}
return resourceMan;
@ -72,21 +72,21 @@ namespace Boyfriend {
}
}
internal static string Beep1 {
internal static string Sound1 {
get {
return ResourceManager.GetString("Beep1", resourceCulture);
return ResourceManager.GetString("Sound1", resourceCulture);
}
}
internal static string Beep2 {
internal static string Sound2 {
get {
return ResourceManager.GetString("Beep2", resourceCulture);
return ResourceManager.GetString("Sound2", resourceCulture);
}
}
internal static string Beep3 {
internal static string Sound3 {
get {
return ResourceManager.GetString("Beep3", resourceCulture);
return ResourceManager.GetString("Sound3", resourceCulture);
}
}

View file

@ -1,11 +1,11 @@
using Boyfriend.Commands;
using Boyfriend.Commands.Events;
using Boyfriend.Services;
using Boyfriend.Services.Update;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
using Octobot.Commands;
using Octobot.Commands.Events;
using Octobot.Services;
using Octobot.Services.Update;
using Remora.Commands.Extensions;
using Remora.Discord.API.Abstractions.Gateway.Commands;
using Remora.Discord.API.Abstractions.Objects;
@ -21,9 +21,9 @@ using Remora.Discord.Interactivity.Extensions;
using Remora.Rest.Core;
using Serilog.Extensions.Logging;
namespace Boyfriend;
namespace Octobot;
public sealed class Boyfriend
public sealed class Octobot
{
public static readonly AllowedMentions NoMentions = new(
Array.Empty<MentionType>(), Array.Empty<Snowflake>(), Array.Empty<Snowflake>());
@ -104,7 +104,7 @@ public sealed class Boyfriend
.WithCommandGroup<RemindCommandGroup>()
.WithCommandGroup<SettingsCommandGroup>()
.WithCommandGroup<ToolsCommandGroup>();
var responderTypes = typeof(Boyfriend).Assembly
var responderTypes = typeof(Octobot).Assembly
.GetExportedTypes()
.Where(t => t.IsResponder());
foreach (var responderType in responderTypes)
@ -114,7 +114,7 @@ public sealed class Boyfriend
}
).ConfigureLogging(
c => c.AddConsole()
.AddFile("Logs/Boyfriend-{Date}.log",
.AddFile("Logs/Octobot-{Date}.log",
outputTemplate: "{Timestamp:o} [{Level:u4}] {Message} {NewLine}{Exception}")
.AddFilter("System.Net.Http.HttpClient.*.LogicalHandler", LogLevel.Warning)
.AddFilter("System.Net.Http.HttpClient.*.ClientHandler", LogLevel.Warning)

View file

@ -1,7 +1,7 @@
using Boyfriend.Data;
using Boyfriend.Services;
using JetBrains.Annotations;
using Microsoft.Extensions.Logging;
using Octobot.Data;
using Octobot.Services;
using Remora.Discord.API.Abstractions.Gateway.Events;
using Remora.Discord.API.Abstractions.Rest;
using Remora.Discord.API.Gateway.Events;
@ -9,7 +9,7 @@ using Remora.Discord.Extensions.Embeds;
using Remora.Discord.Gateway.Responders;
using Remora.Results;
namespace Boyfriend.Responders;
namespace Octobot.Responders;
/// <summary>
/// Handles sending a <see cref="Ready" /> message to a guild that has just initialized if that guild
@ -85,7 +85,7 @@ public class GuildLoadedResponder : IResponder<IGuildCreate>
var i = Random.Shared.Next(1, 4);
var embed = new EmbedBuilder().WithSmallTitle(currentUser.GetTag(), currentUser)
.WithTitle($"Beep{i}".Localized())
.WithTitle($"Sound{i}".Localized())
.WithDescription(Messages.Ready)
.WithCurrentTimestamp()
.WithColour(ColorsList.Blue)

View file

@ -1,7 +1,7 @@
using System.Text.Json.Nodes;
using Boyfriend.Data;
using Boyfriend.Services;
using JetBrains.Annotations;
using Octobot.Data;
using Octobot.Services;
using Remora.Discord.API.Abstractions.Gateway.Events;
using Remora.Discord.API.Abstractions.Rest;
using Remora.Discord.Extensions.Embeds;
@ -9,7 +9,7 @@ using Remora.Discord.Gateway.Responders;
using Remora.Rest.Core;
using Remora.Results;
namespace Boyfriend.Responders;
namespace Octobot.Responders;
/// <summary>
/// Handles sending a guild's <see cref="GuildSettings.WelcomeMessage" /> if one is set.
@ -78,7 +78,7 @@ public class GuildMemberJoinedResponder : IResponder<IGuildMemberAdd>
return (Result)await _channelApi.CreateMessageAsync(
GuildSettings.PublicFeedbackChannel.Get(cfg), embeds: new[] { built },
allowedMentions: Boyfriend.NoMentions, ct: ct);
allowedMentions: Octobot.NoMentions, ct: ct);
}
private async Task<Result> TryReturnRolesAsync(

View file

@ -1,11 +1,11 @@
using Boyfriend.Data;
using Boyfriend.Services;
using JetBrains.Annotations;
using Octobot.Data;
using Octobot.Services;
using Remora.Discord.API.Abstractions.Gateway.Events;
using Remora.Discord.Gateway.Responders;
using Remora.Results;
namespace Boyfriend.Responders;
namespace Octobot.Responders;
/// <summary>
/// Handles updating <see cref="MemberData.Roles" /> when a guild member is updated.

View file

@ -1,7 +1,7 @@
using System.Text;
using Boyfriend.Data;
using Boyfriend.Services;
using JetBrains.Annotations;
using Octobot.Data;
using Octobot.Services;
using Remora.Discord.API.Abstractions.Gateway.Events;
using Remora.Discord.API.Abstractions.Objects;
using Remora.Discord.API.Abstractions.Rest;
@ -10,7 +10,7 @@ using Remora.Discord.Extensions.Formatting;
using Remora.Discord.Gateway.Responders;
using Remora.Results;
namespace Boyfriend.Responders;
namespace Octobot.Responders;
/// <summary>
/// Handles logging the contents of a deleted message and the user who deleted the message
@ -104,6 +104,6 @@ public class MessageDeletedResponder : IResponder<IMessageDelete>
return (Result)await _channelApi.CreateMessageAsync(
GuildSettings.PrivateFeedbackChannel.Get(cfg), embeds: new[] { built },
allowedMentions: Boyfriend.NoMentions, ct: ct);
allowedMentions: Octobot.NoMentions, ct: ct);
}
}

View file

@ -1,8 +1,8 @@
using System.Text;
using Boyfriend.Data;
using Boyfriend.Services;
using DiffPlex.DiffBuilder;
using JetBrains.Annotations;
using Octobot.Data;
using Octobot.Services;
using Remora.Discord.API.Abstractions.Gateway.Events;
using Remora.Discord.API.Abstractions.Objects;
using Remora.Discord.API.Abstractions.Rest;
@ -12,7 +12,7 @@ using Remora.Discord.Extensions.Embeds;
using Remora.Discord.Gateway.Responders;
using Remora.Results;
namespace Boyfriend.Responders;
namespace Octobot.Responders;
/// <summary>
/// Handles logging the difference between an edited message's old and new content
@ -112,6 +112,6 @@ public class MessageEditedResponder : IResponder<IMessageUpdate>
return (Result)await _channelApi.CreateMessageAsync(
GuildSettings.PrivateFeedbackChannel.Get(cfg), embeds: new[] { built },
allowedMentions: Boyfriend.NoMentions, ct: ct);
allowedMentions: Octobot.NoMentions, ct: ct);
}
}

View file

@ -5,7 +5,7 @@ using Remora.Discord.Gateway.Responders;
using Remora.Rest.Core;
using Remora.Results;
namespace Boyfriend.Responders;
namespace Octobot.Responders;
/// <summary>
/// Handles sending replies to easter egg messages.

View file

@ -1,11 +1,11 @@
using Boyfriend.Data;
using Boyfriend.Services;
using JetBrains.Annotations;
using Octobot.Data;
using Octobot.Services;
using Remora.Discord.API.Abstractions.Gateway.Events;
using Remora.Discord.Gateway.Responders;
using Remora.Results;
namespace Boyfriend.Responders;
namespace Octobot.Responders;
/// <summary>
/// Handles adding a scheduled event to a guild's ScheduledEventData.

View file

@ -1,10 +1,10 @@
using Boyfriend.Services;
using JetBrains.Annotations;
using Octobot.Services;
using Remora.Discord.API.Abstractions.Gateway.Events;
using Remora.Discord.Gateway.Responders;
using Remora.Results;
namespace Boyfriend.Responders;
namespace Octobot.Responders;
[UsedImplicitly]
public class ScheduledEventUpdatedResponder : IResponder<IGuildScheduledEventUpdate>

View file

@ -1,6 +1,6 @@
using Microsoft.Extensions.Hosting;
namespace Boyfriend.Services;
namespace Octobot.Services;
public sealed class BackgroundGuildDataSaverService : BackgroundService
{

View file

@ -1,13 +1,13 @@
using System.Collections.Concurrent;
using System.Text.Json;
using System.Text.Json.Nodes;
using Boyfriend.Data;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
using Octobot.Data;
using Remora.Discord.API.Abstractions.Rest;
using Remora.Rest.Core;
namespace Boyfriend.Services;
namespace Octobot.Services;
/// <summary>
/// Handles saving, loading, initializing and providing <see cref="GuildData" />.

View file

@ -1,7 +1,7 @@
using System.Text.RegularExpressions;
using Boyfriend.Data;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
using Octobot.Data;
using Remora.Discord.API.Abstractions.Objects;
using Remora.Discord.API.Abstractions.Rest;
using Remora.Discord.Extensions.Embeds;
@ -9,7 +9,7 @@ using Remora.Discord.Extensions.Formatting;
using Remora.Rest.Core;
using Remora.Results;
namespace Boyfriend.Services.Update;
namespace Octobot.Services.Update;
public sealed partial class MemberUpdateService : BackgroundService
{

View file

@ -1,7 +1,7 @@
using System.Text.Json.Nodes;
using Boyfriend.Data;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
using Octobot.Data;
using Remora.Discord.API.Abstractions.Objects;
using Remora.Discord.API.Abstractions.Rest;
using Remora.Discord.API.Objects;
@ -11,7 +11,7 @@ using Remora.Discord.Interactivity;
using Remora.Rest.Core;
using Remora.Results;
namespace Boyfriend.Services.Update;
namespace Octobot.Services.Update;
public sealed class ScheduledEventUpdateService : BackgroundService
{

View file

@ -4,7 +4,7 @@ using Remora.Discord.API.Gateway.Commands;
using Remora.Discord.API.Objects;
using Remora.Discord.Gateway;
namespace Boyfriend.Services.Update;
namespace Octobot.Services.Update;
public sealed class SongUpdateService : BackgroundService
{

View file

@ -1,8 +1,8 @@
using System.Drawing;
using System.Text;
using System.Text.Json.Nodes;
using Boyfriend.Data;
using Microsoft.Extensions.Hosting;
using Octobot.Data;
using Remora.Discord.API.Abstractions.Objects;
using Remora.Discord.API.Abstractions.Rest;
using Remora.Discord.Extensions.Embeds;
@ -10,7 +10,7 @@ using Remora.Discord.Extensions.Formatting;
using Remora.Rest.Core;
using Remora.Results;
namespace Boyfriend.Services;
namespace Octobot.Services;
/// <summary>
/// Provides utility methods that cannot be transformed to extension methods because they require usage