A fork of multiple-purpose Discord bot written in Remora.Discord
This repository has been archived on 2024-06-23. You can view files and clone it, but cannot push or open issues or pull requests.
Find a file
Octol1ttle cf7007f269
Handle guild data load errors better (#172)
Previously, any errors in guild data load will cause the bot to be
unusable in that guild. It didn't help that the end users had no
information that something was wrong! Now, any errors will be logged
better (with the full path to the file that couldn't be loaded), and the
users will receive a message saying that functionality is degraded

The old way to save objects was to serialize them directly into streams
opened by `File#Create`. This can cause problems if the serialization
isn't completed, because `File#Create` overwrites the file with an empty
one on the spot. Now, objects are first deserialized into a temporary
file, then the original is replaced by the temporary, then the temporary
is deleted.

Errors during guild data load would sometimes cause the bot to replace
the corrupted file with a default one whenever a save is triggered. Now,
guilds with load errors won't have their data saved to aid in debugging

---------

Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
Signed-off-by: mctaylors <mctaylxrs@outlook.com>
2023-10-26 18:14:27 +03:00
.github Bump muno92/resharper_inspectcode from 1.8.3 to 1.8.4 (#170) 2023-10-23 09:13:11 +03:00
CodeAnalysis Fix JSON corruption when saving (#100) 2023-08-22 07:46:57 +00:00
docs Add building & running instructions (#148) 2023-10-04 18:18:59 +03:00
locale Handle guild data load errors better (#172) 2023-10-26 18:14:27 +03:00
src Handle guild data load errors better (#172) 2023-10-26 18:14:27 +03:00
.editorconfig Add automatic deployment (#90) 2023-08-14 13:24:20 +00:00
.gitignore Update .gitignore (#150) 2023-10-04 21:49:21 +05:00
LICENSE Seal all possible classes, add LICENSE, follow async naming conventions 2022-09-18 19:41:29 +05:00
Octobot.csproj Rebrand to Octobot (#128) 2023-09-30 18:58:32 +05:00
Octobot.sln Rebrand to Octobot (#128) 2023-09-30 18:58:32 +05:00

Octobot banner

Veemo! I'm a general-purpose bot for moderation (formerly known as Boyfriend) written by Labs Development Team in C# and Remora.Discord

Features

  • Banning, muting, kicking, etc.
  • Reminding you about something if you wish
  • Reminding everyone about that new event you made
  • Renaming those annoying self-hoisting members
  • Log everything from joining the server to deleting messages
  • Listen to music!

...a-a-and more!

Running Octobot

  1. Install .NET 7 SDK
  2. Go to the Discord Developer Portal, create a new application and get a bot token. Don't forget to also enable all intents!
  3. Clone this repository and open Octobot folder.
git clone https://github.com/LabsDevelopment/Octobot
cd Octobot
  1. Run Octobot using dotnet with BOT_TOKEN variable.
dotnet run BOT_TOKEN='ENTER_TOKEN_HERE'

Contributing

When it comes to contributing to the project, the two main things you can do to help out are reporting issues and submitting pull requests. Please refer to the contributing guidelines to understand how to help in the most effective way possible.

Special Thanks

JetBrains Logo (Main) logo

JetBrains, creators of ReSharper and Rider, supports Octobot with one of their Open Source Licenses. 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.

Not an official Splatoon™ product. We are in no way affiliated with or endorsed by Nintendo Company, or other rightsholders.