Commit graph

18 commits

Author SHA1 Message Date
27b8f15e3b
Force maximum Cognitive Complexity via InspectCode (#60)
This PR uses a new feature of the InspectCode action: extensions. By
adding the `Cognitive Complexity` extension, InspectCode can provide
warnings and force the contributors to follow standards regarding
complex methods. This functionality was previously provided by
CodeFactor, but it is no longer used. Here's the full changelog of this
PR:
- Allowed Actions to run on push for any branch, not just `master`;
- Added `Cognitive Complexity` plugin for InspectCode;
- Significantly reduced complexity of KickCommandGroup, MuteCommandGroup
and GuildUpdateService

---------

Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2023-07-21 08:54:52 +05:00
8c72dc663e
Do not assign Octol1ttle for Dependabot PRs (#59)
This PR disables automatic assignation of all PRs created by Dependabot
to me. There are now more people working on Boyfriend than just me. In
fact, this project, in theory, can live without me as there are other
members working on it.

Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2023-07-20 23:20:25 +03:00
dependabot[bot]
0938f518f8
Bump muno92/resharper_inspectcode from 1.7.1 to 1.8.0 (#58)
Bumps muno92/resharper_inspectcode from 1.7.1 to 1.8.0.

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-20 18:44:10 +05:00
daa1dd4184
General fixes (#54)
Depends on #55

These changes are really small and I don't know how to reasonably split
them into multiple PRs, but here's the changelog:
- The result of the `UtilityService#LogActionAsync` call in
`BanCommandGroup#BanUserAsync` is no longer ignored and it's errors will
now prevent feedback from being sent;
- Converted `if` statement to a `return` with ternary in
`LanguageOption`;
- Slightly decreased method complexity of
`MessageDeletedResponder#RespondAsync` by cleverly using Results;
- Changed the order of parameters for `UtilityService#LogActionAsync` to
flow better;
- Removed the exemption for `ConvertIfToReturnStatement` for
InspectCode.

---------

Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2023-07-20 07:36:21 +00:00
f97e99d82b
Increase thresholds for size labels (#52)
This PR adds a `labels.yml` file to configure the `pull-request-size`
bot. The new thresholds are:
- 0-9 lines for XS
- 10-49 lines for S
- 50-99 lines for M
- 100-499 lines for L
- 500-999 lines for XL
- \>1000 for XXL

In the file, these thresholds are doubled to accomodate for the fact
that both additions and deletions are counted (e.g. editing 10 lines
will result in 10 additions and 10 deletions, 20 in total)

Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2023-07-19 21:00:11 +00:00
c6dd3727c3
The Milestone Commit (#48)
mctaylors:
- updated readme 7 times (and only adding new logo from /about)
-
[removed](aeeb3d4399)
bot footer from created event embed on the second try
-
[changed](4b9b91d9e4)
cdn from discord to upload.systems

Octol1ttle:
- Guild settings code has been overhauled. Instead of instances of a
`GuildConfiguration` class being (de-)serialized when used with listing
and setting options provided by reflection, there are now multiple
`Option` classes responsible for the type of option they are storing.
The classes support getting a value, validating and setting values with
Results, and getting a user-friendly representation of these values.
This makes use of polymorphism, providing clean and easier to use and
refactor code.
- Gateway event responders have been split into their own separate
files, which should make it easier to find and modify responders when
needed.
- Warning suppressions regarding unused and never instantiated classes
have been replaced by `[ImplicitUse]` annotations provided by
`JetBrains.Annotations`. This avoids hiding real issues and provides a
better way to suppress false warnings while being explicit.
- It is no longer possible to execute some slash commands if they are
run without the correct permissions
- Dependencies are now more explicitly defined

neroduckale:
 - Made easter eggs case-insensitive

---------

Signed-off-by: Macintosh II <95250141+mctaylors@users.noreply.github.com>
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
Co-authored-by: Octol1ttle <l1ttleofficial@outlook.com>
Co-authored-by: nrdk <neroduck@vk.com>
2023-07-18 12:25:02 +00:00
3eb17b96c5
Tidy up project structure, fix bug with edit logging (#47)
The project structure has been changed because the previous one had
everything in 1 folder. From this PR onwards, the following is true:
- The source code is stored in `src/`
- `*.resx` and `Messages.Designer.cs` is stored in `locale/`
- Documentation is stored on the wiki and in `docs/`
- Miscellaneous files, such as dotfiles, are stored in the root folder
of the repository

This PR additionally fixes an issue that would cause logs of edited
messages to not be syntax highlighted. This happened because the
responder of edited messages was changed to use the universal
`InBlockCode` extension method which did not support syntax highlighting
until this PR

This PR additionally changes CODEOWNERS to be more reliable. Previously,
it would be possible for some PRs to be unable to be approved because
the only person who can approve them is the same person who opened the
PR.

---------

Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2023-07-09 22:36:44 +05:00
abbb58f801
Switch to Remora.Discord (#41)
result checks go brrr

this also involves switching to using Discord's modern stuff like embeds
and interactions

and using brand-new for me programming concepts (dependency injection,
results)

---------

Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
Signed-off-by: mctaylors <95250141+mctaylors@users.noreply.github.com>
Co-authored-by: mctaylors <95250141+mctaylors@users.noreply.github.com>
Co-authored-by: nrdk <neroduck@vk.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-09 16:32:14 +03:00
2ab7a07784
Update README.md (#39) 2023-05-17 13:41:23 +03:00
8d740e1c52
Update CODEOWNERS
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2023-05-17 13:16:42 +05:00
dependabot[bot]
6dbfc1bfae
Bump muno92/resharper_inspectcode from 1.6.11 to 1.6.13 (#30)
Signed-off-by: dependabot[bot] <support@github.com>
2023-04-24 06:09:22 +00:00
dependabot[bot]
f01ce4fe1c
Bump muno92/resharper_inspectcode from 1.6.6 to 1.6.11 (#27)
Bumps
[muno92/resharper_inspectcode](https://github.com/muno92/resharper_inspectcode)
from 1.6.6 to 1.6.11.

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-03 11:19:01 +05:00
6f5a969704
One last touch...
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2023-01-18 21:01:22 +05:00
0c89df4791
Fix CI failures
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2023-01-18 20:35:22 +05:00
7b8888dae3
Refactor guild data storage (#13)
Co-authored-by: mctaylors <volkovvladislav8@gmail.com>
2023-01-18 19:39:24 +05:00
28b0668628
Add ReSharper code inspection (#10)
And cancel workflows in progress to avoid having multiple of the same
workflow running
2022-12-09 16:47:11 +05:00
a9957a867f
Build and analyze code with CodeQL 2022-10-20 21:23:59 +05:00
851a8f8b92
Create Dependabot configuration 2022-10-20 21:17:26 +05:00