1
0
Fork 1
mirror of https://github.com/TeamOctolings/Octobot.git synced 2025-01-31 09:09:00 +03:00
Commit graph

10 commits

Author SHA1 Message Date
d6d2660fb0
Show an error when entering the same value from the settings (#326)
Closes #324
2024-07-31 14:13:29 +05:00
07e8784d2e
Redesign reminder-related commands (#321)
In this PR, I redesigned the reminder-related commands and they will now
have a quote block instead of a inline code block (to avoid some visual
bugs). Except /listremind. It just has the inline code block removed.

![image](https://github.com/TeamOctolings/Octobot/assets/95250141/3521af97-ee11-405f-8cc2-7bf9a747e757)
2024-07-03 17:12:32 +00:00
a0e7b3a611
Always default cancellation tokens (#319)
This PR makes sure that a cancellation token is never *required* to use
an `async` method. This does not affect user experience in any way, only
code quality.

---------

Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2024-06-25 15:09:45 +05:00
a953053f1d
Handle audit log entries for message deletion being empty (#317)
In order to determine who deleted a message, Octobot fetches the audit
log with a filter on the action "Message Delete", gets the latest entry
and uses its author if the timestamps roughly match. However, if the
filter returns no entries (as in, no message deletions are present in
the audit log), `Single()` will throw an exception with the message
`Sequence contains no elements`. To fix this, this PR replaces
`Single()` with `SingleOrDefault()` and adds a null-check on `auditLog`
in the form of a pattern access

Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2024-06-21 19:28:29 +00:00
29a1eb9869
Add description to /clear's author to clarify its functionality (#315)
Closes #314

What? The title speaks for itself.
2024-05-31 21:46:12 +05:00
daef4f1d48
Upgrade NuGet dependencies (#313)
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2024-05-30 15:32:27 +05:00
ea9302e185
Use MemberData roles when checking permissions & interactions (#312)
Closes #311 

This change fixes unexpected behavior when a member's Discord roles get
desynchronized with their MemberData roles (e.g. when a member gets
role-muted). In addition this results in less API requests being made
when there are cache misses (commands should execute faster)

---------

Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2024-05-23 18:21:52 +05:00
d03e2504fc
Seal implicitly used classes (#309)
Apparently the `[UsedImplicitly]` annotation suppresses the "Class has
no inheritors and can be marked sealed" warning. Cool to know.

Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2024-05-23 17:47:51 +05:00
ebcdcb35f7
Separate /*info commands from ToolsCommandGroup (#308)
who tf thought that putting 1234915912 methods responsible for 23981
commands in a single class was a good idea???????

Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2024-05-18 21:12:38 +05:00
793afd0e06
Apply official naming guidelines to Octobot (#306)
1. The root namespace was changed from `Octobot` to
`TeamOctolings.Octobot`:
> DO prefix namespace names with a company name to prevent namespaces
from different companies from having the same name.
2. `Octobot.cs` was renamed to `Program.cs`:
> DO NOT use the same name for a namespace and a type in that namespace.
3. `IOption`, `Option` were renamed to `IGuildOption` and `GuildOption`
respectively:
> DO NOT introduce generic type names such as Element, Node, Log, and
Message.
4. `Utility` was moved out of the `Services` namespace. It didn't belong
there anyway
5. `Program` static fields were moved to `Utility`
6. Localisation files were moved back to the project source files. Looks
like this fixed `Message.Designer.cs` code generation

---------

Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2024-05-16 20:34:26 +05:00