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

249 commits

Author SHA1 Message Date
285763d50d
/userinfo: Show if the user was kicked (#242)
Closes #241 

Updates:
- Show if the user was kicked by [adding "Kicked" parameter to
MemberData](https://github.com/LabsDevelopment/Octobot/issues/241)
- Change `mctaylors-ru`'s `UserInfoBannedPermanently` string to be
different from `UserInfoBanned`
- Finally add `AppendPunishmentsInformation` method to avoid Cognitive
Complexity
- Use MemberData to check if the user was banned
- Rename variable `isMuted` to `wasMuted` to be consistent with other
variable names

---------

Signed-off-by: mctaylors <cantsendmails@mctaylors.ru>
2023-12-21 20:35:10 +05:00
7d9a85d815
Add profiler base (#235)
This PR adds the base classes required for profiling code inside of
Octobot. The implementation of the profiler is similar to Minecraft,
however it is more detailed and provides per-event logs for each event.
This PR does not change any code to be profiled and this is intentional.
Changes required for profiling will come as separate PRs, one for
commands, one for responders, and one for background services.

Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2023-12-20 22:59:17 +05:00
d4871bb23d
Use AddFromAssembly for responders and command groups (#240)
now we don't have to explicitly type out command groups woooo

Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2023-12-20 20:48:32 +03:00
21f200c988
Merge BackgroundGuildDataSaverService into GuildDataService (#239)
Title. idk why I didn't think of this before.
Also, GuildDataService is now properly registered as an IHostedService,
so it receives start & shutdown events. So this PR gets rid of the
workaround that was needed for save-on-shutdown to function

Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2023-12-20 20:08:56 +03:00
bd4c5b26da
Remove "extends IHostedService" from classes where it's not required (#236)
Originally, these classes were services because I thought that all
DI-resolvable classes need to be services. However, this is not true, so
we can make these classes (notably Utility and GuildDataService) not
extend anything. `UtilityService` was renamed to `Utility` for
simplicity

---------

Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2023-12-20 19:33:52 +03:00
6688481093
/about: Show Discord bot username instead of hardcoded one (#230)
In this PR, I made it so that in the Author field instead of the
hardcoded name was the name of the Discord bot. This was done to match
the icon next to it in the same field.

Replaces #224

---------

Signed-off-by: mctaylors <cantsendmails@mctaylors.ru>
2023-12-20 16:25:13 +00:00
74e32dee9b
Use collection expressions in more places (#238)
ReSharper inspections have been updated, causing new warnings to appear
in the codebase. This time, the "Use collection expressions" inspection
has been enabled for usecases where the collection is not empty. This PR
fixes the check failures caused by this inspection.
2023-12-20 19:23:37 +03:00
f79968fdc2
/about: Use Markdown.Hyperlink instead of custom extension (#229)
Signed-off-by: mctaylors <cantsendmails@mctaylors.ru>
2023-12-19 15:32:11 +05:00
c0b43c6a18
/about: Show link to GitHub profile if Discord member wasn't found (#226)
In this PR, the behavior of the developer list display in /about has
been changed. Now, if a developer is not on the same server where the
/about command was executed, their username will have a link to their
GitHub profile.

---------

Signed-off-by: mctaylors <cantsendmails@mctaylors.ru>
2023-12-18 14:26:08 +05:00
dependabot[bot]
96eed1a820
Bump DiffPlex from 1.7.1 to 1.7.2 (#227)
Bumps [DiffPlex](https://github.com/mmanela/diffplex) from 1.7.1 to
1.7.2.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/mmanela/diffplex/commits">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=DiffPlex&package-manager=nuget&previous-version=1.7.1&new-version=1.7.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-18 08:46:40 +03:00
d4ea62d419
README: Add invite button (#222)
Signed-off-by: Macintxsh <95250141+mctaylors@users.noreply.github.com>
2023-12-17 22:06:33 +03:00
4dc460a269
Add issue button w/ some button updates (#221)
In this PR, I've added a "Report an issue" button and a few more
button-related changes:
- Add "Report an issue" button
- Add icon for "Octobot's source code"
- Rename `AboutTitleRepository` to `ButtonOpenRepository`
- Rename `OpenEventInfoButton` to `ButtonOpenEventInfo` to be consistent
with other language string names
- Rename `ColorsList.cs` to `Miscellaneous.cs`
- Add public const strings in `Octobot.cs` to get repository & issues links

---------

Signed-off-by: mctaylors <cantsendmails@mctaylors.ru>
2023-12-17 21:35:09 +03:00
neroduckale
4581b402aa
Do not log messages edited by bots (#202)
If the author of the edited message is a bot, then Octobot won't log the edit
2023-12-17 22:02:50 +05:00
2dc5220f46
/about: Add repository link button (#218)
In this PR, I moved the repository link from the embed to a button in
/about command for better UI/UX

---------

Signed-off-by: Macintxsh <95250141+mctaylors@users.noreply.github.com>
2023-12-17 16:49:44 +00:00
541e18fff0
Add ChannelApiExtensions (#217)
This PR adds an extension method to make it easier to pass Result<Embed> to CreateMessageAsync

---------

Co-authored-by: Octol1ttle <l1ttleofficial@outlook.com>
2023-12-17 21:47:52 +05:00
9a23e1d533
FeedbackServiceExtensions: Add FeedbackMessageOptions support (#219)
Required for #218
2023-12-17 20:44:18 +05:00
b284ac28d5
Disable "Convert to Primary Constructor" warning (#216)
Me and other .NET developers hold the stance that primary constructors
are not ready for production use, particularly with dependency
injection. There are debates regarding the styling of primary
constructors, but the bigger issue is that a primary constructor
parameter cannot be made `readonly` (which is crucial with dependency
injection). The inspection "Convert to Primary Constructor" was disabled
in ReSharper CLI when we updated to .NET 8, but the warning is still
present for ReSharper and Rider users. This PR disables this warning to
avoid developers accidentally using a primary constructor.
2023-12-17 17:08:24 +03:00
8594dfdb9b
Bump Remora.Commands to fix issue with optional slash command args (#214)
Fixes an exception that would occur when a slash command that has
optional arguments would be called without them. See
https://github.com/Remora/Remora.Discord/issues/319 for details

![image](https://github.com/LabsDevelopment/Octobot/assets/61277953/6589dee9-4bba-484e-9f77-b23dae514f45)
2023-12-13 20:44:55 +03:00
eed08b237b
Recommend to install .NET 8 in README.md (#213)
completely forgot about this while making #207

Signed-off-by: Macintxsh II <95250141+mctaylors@users.noreply.github.com>
2023-12-12 09:01:10 +03:00
neroduckale
59c2c5eada
Add link to original message for activated reminders and /listremind (#203) 2023-12-11 23:38:26 +03:00
dependabot[bot]
e21e193218
Bump muno92/resharper_inspectcode from 1.11.0 to 1.11.1 (#212) 2023-12-11 06:02:34 +00:00
a9f2f8eeef
Add application icon (#211)
Signed-off-by: mctaylors <cantsendmails@mctaylors.ru>
2023-12-08 16:26:04 +05:00
eeaff23fb5
Rewrite music list (#210)
Changes:
- Use timestamps from
[Splatunes](https://splatoonwiki.org/wiki/Splatune_(Splatoon_Original_Soundtrack))
- Increase track count to 20
- Replace Calamari Inkantation 3MIX with OG Calamari Inkantation due to long
duration

Signed-off-by: mctaylors <cantsendmails@mctaylors.ru>
2023-12-08 16:15:44 +05:00
42ab11d253
Rename "Event details" button to "Open Event Info" (#209)
The correct phrasing used by Discord is "Event Info"

![image](https://github.com/LabsDevelopment/Octobot/assets/95250141/8165b70d-4c81-4b85-8251-db2de6a7f4ca)

Signed-off-by: mctaylors <cantsendmails@mctaylors.ru>
2023-12-08 16:06:50 +05:00
neroduckale
bcd1db8c8e
Fix inspection warnings (#208)
Signed-off-by: neroduckale <100025711+neroduckale@users.noreply.github.com>
2023-12-06 00:24:55 +05:00
4c50bdaff7
Bump .NET version to 8.0 (#207)
Signed-off-by: mctaylors <cantsendmails@mctaylors.ru>
2023-12-04 20:18:56 +05:00
18cdc63883
Add StringBuilder & Markdown extensions (#206)
In this PR, I have added StringBuilder extensions to avoid `.Append`
reuse such as `.Append("- ").AppendLine()`

Closes #205

---------

Signed-off-by: mctaylors <cantsendmails@mctaylors.ru>
2023-12-04 17:09:47 +03:00
dependabot[bot]
5fce01c15c
Bump muno92/resharper_inspectcode from 1.10.3 to 1.11.0 (#199) 2023-11-27 06:48:33 +00:00
dependabot[bot]
7e47c56015
Bump Microsoft.Extensions.Hosting from 7.0.1 to 8.0.0 (#187)
Bumps [Microsoft.Extensions.Hosting](https://github.com/dotnet/runtime)
from 7.0.1 to 8.0.0.

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Octol1ttle <l1ttleofficial@outlook.com>
2023-11-22 14:27:55 +05:00
dependabot[bot]
c09d26fd6f
Bump muno92/resharper_inspectcode from 1.9.1 to 1.10.3 (#197)
Bumps
[muno92/resharper_inspectcode](https://github.com/muno92/resharper_inspectcode)
from 1.9.1 to 1.10.3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/muno92/resharper_inspectcode/releases">muno92/resharper_inspectcode's
releases</a>.</em></p>
<blockquote>
<h2>1.10.3</h2>
<!-- raw HTML omitted -->
<h2>What's Changed</h2>
<ul>
<li>Fix properties option by <a
href="https://github.com/muno92"><code>@​muno92</code></a> in <a
href="https://redirect.github.com/muno92/resharper_inspectcode/pull/437">muno92/resharper_inspectcode#437</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/muno92/resharper_inspectcode/compare/1.10.2...1.10.3">https://github.com/muno92/resharper_inspectcode/compare/1.10.2...1.10.3</a></p>
<h2>1.10.2</h2>
<!-- raw HTML omitted -->
<h2>What's Changed</h2>
<ul>
<li>Enable use double quote in properties option by <a
href="https://github.com/muno92"><code>@​muno92</code></a> in <a
href="https://redirect.github.com/muno92/resharper_inspectcode/pull/434">muno92/resharper_inspectcode#434</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/muno92/resharper_inspectcode/compare/1.10.1...1.10.2">https://github.com/muno92/resharper_inspectcode/compare/1.10.1...1.10.2</a></p>
<h2>1.10.1</h2>
<!-- raw HTML omitted -->
<h2>What's Changed</h2>
<ul>
<li>Fix properties parameter by <a
href="https://github.com/muno92"><code>@​muno92</code></a> in <a
href="https://redirect.github.com/muno92/resharper_inspectcode/pull/432">muno92/resharper_inspectcode#432</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/muno92/resharper_inspectcode/compare/1.10.0...1.10.1">https://github.com/muno92/resharper_inspectcode/compare/1.10.0...1.10.1</a></p>
<h2>1.10.0</h2>
<!-- raw HTML omitted -->
<h2>What's Changed</h2>
<ul>
<li>Add parameter to override MSBuild configuration by <a
href="https://github.com/muno92"><code>@​muno92</code></a> in <a
href="https://redirect.github.com/muno92/resharper_inspectcode/pull/430">muno92/resharper_inspectcode#430</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/muno92/resharper_inspectcode/compare/1.9.3...1.10.0">https://github.com/muno92/resharper_inspectcode/compare/1.9.3...1.10.0</a></p>
<h2>1.9.3</h2>
<!-- raw HTML omitted -->
<h2>What's Changed</h2>
<ul>
<li>Add support .NET 8 by <a
href="https://github.com/muno92"><code>@​muno92</code></a> in <a
href="https://redirect.github.com/muno92/resharper_inspectcode/pull/428">muno92/resharper_inspectcode#428</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/muno92/resharper_inspectcode/compare/1.9.2...1.9.3">https://github.com/muno92/resharper_inspectcode/compare/1.9.2...1.9.3</a></p>
<h2>1.9.2</h2>
<!-- raw HTML omitted -->
<h2>What's Changed</h2>
<ul>
<li>Update dependency prettier to v3.1.0 by <a
href="https://github.com/renovate"><code>@​renovate</code></a> in <a
href="https://redirect.github.com/muno92/resharper_inspectcode/pull/425">muno92/resharper_inspectcode#425</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/muno92/resharper_inspectcode/blob/main/CHANGELOG.md">muno92/resharper_inspectcode's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/muno92/resharper_inspectcode/compare/1.10.2...1.10.3">1.10.3</a>
- 2023-11-21</h2>
<ul>
<li>Fix properties option by <a
href="https://github.com/muno92"><code>@​muno92</code></a> in <a
href="https://redirect.github.com/muno92/resharper_inspectcode/pull/437">muno92/resharper_inspectcode#437</a></li>
</ul>
<h2><a
href="https://github.com/muno92/resharper_inspectcode/compare/1.10.1...1.10.2">1.10.2</a>
- 2023-11-21</h2>
<ul>
<li>Enable use double quote in properties option by <a
href="https://github.com/muno92"><code>@​muno92</code></a> in <a
href="https://redirect.github.com/muno92/resharper_inspectcode/pull/434">muno92/resharper_inspectcode#434</a></li>
</ul>
<h2><a
href="https://github.com/muno92/resharper_inspectcode/compare/1.10.0...1.10.1">1.10.1</a>
- 2023-11-20</h2>
<ul>
<li>Fix properties parameter by <a
href="https://github.com/muno92"><code>@​muno92</code></a> in <a
href="https://redirect.github.com/muno92/resharper_inspectcode/pull/432">muno92/resharper_inspectcode#432</a></li>
</ul>
<h2><a
href="https://github.com/muno92/resharper_inspectcode/compare/1.9.3...1.10.0">1.10.0</a>
- 2023-11-20</h2>
<ul>
<li>Add parameter to override MSBuild configuration by <a
href="https://github.com/muno92"><code>@​muno92</code></a> in <a
href="https://redirect.github.com/muno92/resharper_inspectcode/pull/430">muno92/resharper_inspectcode#430</a></li>
</ul>
<h2><a
href="https://github.com/muno92/resharper_inspectcode/compare/1.9.2...1.9.3">1.9.3</a>
- 2023-11-19</h2>
<ul>
<li>Add support .NET 8 by <a
href="https://github.com/muno92"><code>@​muno92</code></a> in <a
href="https://redirect.github.com/muno92/resharper_inspectcode/pull/428">muno92/resharper_inspectcode#428</a></li>
</ul>
<h2><a
href="https://github.com/muno92/resharper_inspectcode/compare/1.9.1...1.9.2">1.9.2</a>
- 2023-11-13</h2>
<ul>
<li>Update dependency prettier to v3.1.0 by <a
href="https://github.com/renovate"><code>@​renovate</code></a> in <a
href="https://redirect.github.com/muno92/resharper_inspectcode/pull/425">muno92/resharper_inspectcode#425</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="786ad71a4e"><code>786ad71</code></a>
Merge pull request <a
href="https://redirect.github.com/muno92/resharper_inspectcode/issues/438">#438</a>
from muno92/tagpr-from-1.10.2</li>
<li><a
href="65379647a9"><code>6537964</code></a>
Compile</li>
<li><a
href="525b1526e2"><code>525b152</code></a>
[tagpr] update CHANGELOG.md</li>
<li><a
href="5c9b8f55c7"><code>5c9b8f5</code></a>
[tagpr] prepare for the next release</li>
<li><a
href="8e41dcb491"><code>8e41dcb</code></a>
Merge pull request <a
href="https://redirect.github.com/muno92/resharper_inspectcode/issues/437">#437</a>
from muno92/fix-properties-option</li>
<li><a
href="c02556093e"><code>c025560</code></a>
Fix</li>
<li><a
href="2cd06ee83a"><code>2cd06ee</code></a>
Merge pull request <a
href="https://redirect.github.com/muno92/resharper_inspectcode/issues/435">#435</a>
from muno92/tagpr-from-1.10.1</li>
<li><a
href="a7294b6712"><code>a7294b6</code></a>
Compile</li>
<li><a
href="25b5872407"><code>25b5872</code></a>
[tagpr] update CHANGELOG.md</li>
<li><a
href="d76b1f808e"><code>d76b1f8</code></a>
[tagpr] prepare for the next release</li>
<li>Additional commits viewable in <a
href="https://github.com/muno92/resharper_inspectcode/compare/1.9.1...1.10.3">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=muno92/resharper_inspectcode&package-manager=github_actions&previous-version=1.9.1&new-version=1.10.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-22 11:43:21 +03:00
b166300642
Update CDN links for Octobot banner (#192)
Old CDN links are no longer working and they must be changed to new
links to display Octobot banner properly.
2023-11-22 08:34:40 +00:00
71299c7086
Combine Dependabot PRs updating Remora.Discord packages into one (#195)
Closes #191
2023-11-22 08:31:58 +00:00
f908919ac9
Put edited message in cache if it's not in cache already (#196)
Closes #183 

In addition to the fix, now no error will be returned if the message
doesn't exist in the cache as that is a (relatively) normal occurrence
and isn't an indicator of an issue with the bot or its configuration
2023-11-22 08:29:27 +00:00
b446c97311
Make issue templates less annoying (#194)
Closes #184 

This PR makes issue templates less annoying by removing some unnecessary
text boxes and allowing issues to be created without the use of a
template.

In the Bug Report template, `Expected Behavior` and `Actual Behavior`
were combined into one, and the `Known Workarounds` section was removed

In the Feature Request template, `Considered Alternatives` was also
removed.
2023-11-22 11:26:10 +03:00
e65c7a469d
Use TryGetValue instead of ContainsKey + index access to avoid double lookup (#193)
This PR fixes an issue that is currently causing CI to fail in all pull
requests:
`Notice: "[CA1854] Prefer a 'TryGetValue' call over a Dictionary indexer
access guarded by a 'ContainsKey' check to avoid double lookup" on
/home/runner/work/Octobot/Octobot/src/Services/Update/ScheduledEventUpdateService.cs(107,4168)`
The issue is resolved by following the advice mentioned in the notice.
2023-11-22 11:19:45 +03:00
dependabot[bot]
c031b66eb4
Bump muno92/resharper_inspectcode from 1.9.0 to 1.9.1 (#182)
Bumps
[muno92/resharper_inspectcode](https://github.com/muno92/resharper_inspectcode)
from 1.9.0 to 1.9.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/muno92/resharper_inspectcode/releases">muno92/resharper_inspectcode's
releases</a>.</em></p>
<blockquote>
<h2>1.9.1</h2>
<!-- raw HTML omitted -->
<h2>What's Changed</h2>
<ul>
<li>Fix --no-build option not working by <a
href="https://github.com/muno92"><code>@​muno92</code></a> in <a
href="https://redirect.github.com/muno92/resharper_inspectcode/pull/423">muno92/resharper_inspectcode#423</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/muno92/resharper_inspectcode/compare/1.9.0...1.9.1">https://github.com/muno92/resharper_inspectcode/compare/1.9.0...1.9.1</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/muno92/resharper_inspectcode/blob/main/CHANGELOG.md">muno92/resharper_inspectcode's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/muno92/resharper_inspectcode/compare/1.9.0...1.9.1">1.9.1</a>
- 2023-11-08</h2>
<ul>
<li>Fix --no-build option not working by <a
href="https://github.com/muno92"><code>@​muno92</code></a> in <a
href="https://redirect.github.com/muno92/resharper_inspectcode/pull/423">muno92/resharper_inspectcode#423</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="e2d0812723"><code>e2d0812</code></a>
Merge pull request <a
href="https://redirect.github.com/muno92/resharper_inspectcode/issues/424">#424</a>
from muno92/tagpr-from-1.9.0</li>
<li><a
href="4228f77918"><code>4228f77</code></a>
Compile</li>
<li><a
href="4c2c89763e"><code>4c2c897</code></a>
[tagpr] update CHANGELOG.md</li>
<li><a
href="0215db1e90"><code>0215db1</code></a>
[tagpr] prepare for the next release</li>
<li><a
href="84ea3c144e"><code>84ea3c1</code></a>
Merge pull request <a
href="https://redirect.github.com/muno92/resharper_inspectcode/issues/423">#423</a>
from muno92/fix-420</li>
<li><a
href="b0b875396a"><code>b0b8753</code></a>
Fix --no-build option not working</li>
<li>See full diff in <a
href="https://github.com/muno92/resharper_inspectcode/compare/1.9.0...1.9.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=muno92/resharper_inspectcode&package-manager=github_actions&previous-version=1.9.0&new-version=1.9.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Macintosh II <95250141+mctaylors@users.noreply.github.com>
2023-11-13 06:06:31 +00:00
dependabot[bot]
bca1b10749
Bump JetBrains.Annotations from 2023.2.0 to 2023.3.0 (#181)
Bumps
[JetBrains.Annotations](https://github.com/JetBrains/JetBrains.Annotations)
from 2023.2.0 to 2023.3.0.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="e00a7e4a16"><code>e00a7e4</code></a>
2023.3</li>
<li><a
href="c2392bcd88"><code>c2392bc</code></a>
2023.3-eap4</li>
<li><a
href="a37383560a"><code>a373835</code></a>
Merge pull request <a
href="https://redirect.github.com/JetBrains/JetBrains.Annotations/issues/24">#24</a>
from estrizhok/main</li>
<li><a
href="938031843a"><code>9380318</code></a>
Allow NoReorderAttribute to be used for partial classes to indicate
which par...</li>
<li><a
href="0dea5ba41c"><code>0dea5ba</code></a>
Merge pull request <a
href="https://redirect.github.com/JetBrains/JetBrains.Annotations/issues/23">#23</a>
from mr146/main</li>
<li><a
href="6565d31d95"><code>6565d31</code></a>
fixes</li>
<li><a
href="a3284206c7"><code>a328420</code></a>
Added IgnoreSpellingAndGrammarErrorsAttribute and
AspMinimalApiImplicitEndpoi...</li>
<li><a
href="53cd720d72"><code>53cd720</code></a>
2023.3.0-eap2</li>
<li><a
href="0a43548b16"><code>0a43548</code></a>
Merge pull request <a
href="https://redirect.github.com/JetBrains/JetBrains.Annotations/issues/22">#22</a>
from tutushkin/main</li>
<li><a
href="802aa5f772"><code>802aa5f</code></a>
Fixed after review,</li>
<li>Additional commits viewable in <a
href="https://github.com/JetBrains/JetBrains.Annotations/compare/v2023.2.0...2023.3">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=JetBrains.Annotations&package-manager=nuget&previous-version=2023.2.0&new-version=2023.3.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-13 09:04:45 +03:00
f785efcbc0
Add more information to guild loaded log message (#179)
This PR adds additional information in the log about guilds as they are
being loaded. The new information is the owner tag & ID and member count
2023-11-06 23:39:26 +05:00
f12d6d13c5
Check interactions in MemberUpdateService before operating on members (#177)
This PR fixes an issue that caused REST errors to occur in
MemberUpdateService if the bot tries to interact with a member it can't
interact with. The issue is fixed by returning from TickMemberDataAsync
early if the member cannot be interacted with. An error message was
planned, but it requires adding a lot of services and severely
increasing the complexity. Contributors may feel free to add one if they
deem so necessary.
2023-11-04 23:33:37 +05:00
5f0d806213
Use IFeedbackService interface instead of implementation (#178)
This PR replaces usages of the `FeedbackService` implementation with the
`IFeedbackService` interface. Using concrete implementations breaks the
whole point of dependency injection, so it doesn't make sense to use
them
2023-11-04 23:28:22 +05:00
dependabot[bot]
b2879ad35a
Bump muno92/resharper_inspectcode from 1.8.4 to 1.9.0 (#176)
Bumps
[muno92/resharper_inspectcode](https://github.com/muno92/resharper_inspectcode)
from 1.8.4 to 1.9.0.

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-30 10:51:54 +05:00
a4b009a26f
Disable text commands (#175)
This PR disables text commands as their presence was not intentional.
2023-10-30 09:37:16 +05:00
0ba357e4c7
Limit string argument length to avoid "embed description too long" errors (#174)
This PR fixes an error that would appear if a string that's way too long
was passed as a command argument by limiting the string's length

![image](https://github.com/LabsDevelopment/Octobot/assets/61277953/8f8267fd-d382-4a24-b92d-5f9966d7563b)
2023-10-28 23:10:16 +05:00
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
fb3aebb1e0
Notify user when a command execution error occurs (#171)
With this PR, whenever command execution fails, the user will get an
error message with details of the error that can be passed on to
developers

An unrelated minor change: errors caused by task cancellations will no
longer be logged

---------

Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
Signed-off-by: mctaylors <mctaylxrs@outlook.com>
2023-10-26 14:54:15 +00:00
5b84c8d8d0
Add more info output to /delremind (#173)
_There are times when you want to be sure of what you've destroyed._

Therefore, in this PR I added the output of the text of the deleted
reminder along with its position in the list, because you can make a
mistake with deleting a reminder and forget about what you needed to be
reminded about.

---------

Signed-off-by: mctaylors <mctaylxrs@outlook.com>
2023-10-26 17:41:47 +03:00
dependabot[bot]
02707312f5
Bump muno92/resharper_inspectcode from 1.8.3 to 1.8.4 (#170)
Bumps
[muno92/resharper_inspectcode](https://github.com/muno92/resharper_inspectcode)
from 1.8.3 to 1.8.4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/muno92/resharper_inspectcode/releases">muno92/resharper_inspectcode's
releases</a>.</em></p>
<blockquote>
<h2>1.8.4</h2>
<!-- raw HTML omitted -->
<h2>What's Changed</h2>
<ul>
<li>Bump <code>@​babel/traverse</code> from 7.19.0 to 7.23.2 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/muno92/resharper_inspectcode/pull/416">muno92/resharper_inspectcode#416</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/muno92/resharper_inspectcode/compare/1.8.3...1.8.4">https://github.com/muno92/resharper_inspectcode/compare/1.8.3...1.8.4</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/muno92/resharper_inspectcode/blob/main/CHANGELOG.md">muno92/resharper_inspectcode's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/muno92/resharper_inspectcode/compare/1.8.3...1.8.4">1.8.4</a>
- 2023-10-18</h2>
<ul>
<li>Bump <code>@​babel/traverse</code> from 7.19.0 to 7.23.2 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/muno92/resharper_inspectcode/pull/416">muno92/resharper_inspectcode#416</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="8658d1b7b6"><code>8658d1b</code></a>
Merge pull request <a
href="https://redirect.github.com/muno92/resharper_inspectcode/issues/417">#417</a>
from muno92/tagpr-from-1.8.3</li>
<li><a
href="c4974f7171"><code>c4974f7</code></a>
Compile</li>
<li><a
href="c4dc7922c0"><code>c4dc792</code></a>
[tagpr] update CHANGELOG.md</li>
<li><a
href="d12022ee42"><code>d12022e</code></a>
[tagpr] prepare for the next release</li>
<li><a
href="dce5dcaa17"><code>dce5dca</code></a>
Merge pull request <a
href="https://redirect.github.com/muno92/resharper_inspectcode/issues/416">#416</a>
from muno92/dependabot/npm_and_yarn/babel/traverse-7....</li>
<li><a
href="fd69cf5874"><code>fd69cf5</code></a>
Bump <code>@​babel/traverse</code> from 7.19.0 to 7.23.2</li>
<li>See full diff in <a
href="https://github.com/muno92/resharper_inspectcode/compare/1.8.3...1.8.4">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=muno92/resharper_inspectcode&package-manager=github_actions&previous-version=1.8.3&new-version=1.8.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-23 09:13:11 +03:00
fead92129d
Unschedule scheduled event status update only if last update was successful (#168)
This PR fixes an issue that prevented scheduled event status updates
from running again if they failed. This happened because, before each
update, the events would be synchronized. The `ScheduleOnStatusUpdated`
field would be set even if it's already `true`, which will cause it to
be set to `false` for unsuccessful updates. The issue is fixed by
surrounding the field set call with a condition that will prevent
setting the field from `true` to `false`
2023-10-17 12:25:15 +00:00
580cd24810
Do not try to send messages in empty EventNotificationChannels (#167)
This PR fixes an error that would occur if an event was created, was
about to start or started and the EventNotificationChannel was empty.
2023-10-17 12:23:14 +00:00
b30d690113
Add filtering by message author to /clear (#169)
Closes #164 

This PR adds an optional argument to `/clear` - `author` of type User.

If the user is specified, only messages sent by that user will be
cleared. Simple as that.
2023-10-17 12:20:58 +00:00