Commit graph

283 commits

Author SHA1 Message Date
a9509deb1c
Don't use BannedUntil in MemberData.<init> (#286)
Signed-off-by: mctaylors <cantsendmails@mctaylors.ru>
2024-03-24 13:11:00 +03:00
ac8621a2ec
Pre-Wiki Update (#285)
This PR has been opened to finally update Octobot's Wiki.

Current changes summary:
- correct minor spelling issues in some command descriptions
- /about: add Octobot's Wiki button

---------

Signed-off-by: mctaylors <cantsendmails@mctaylors.ru>
2024-03-23 21:45:39 +03:00
e0232f6008
Merge some sequential 'if' statements (#284)
i thought there would be a lot of statements that could be merged, but
these are only ones I could find, apparently

Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2024-03-21 21:31:17 +05:00
a80debf1b1
Use Result.Success property instead of Result.FromSuccess() (#283)
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2024-03-21 20:55:34 +05:00
309d900067
Log result failures with stack traces (#282)
This feature will improve the debugging experience for developers by
providing the information about *where exactly* a result has failed

---------

Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2024-03-20 18:08:16 +00:00
5cc04e9cc3
Change position of "Jump to ..." action for better consistency (#279)
This will better align with how a normal moderator would respond to the
log:

Before: "see log" -> "jump to message without knowing what changed" ->
"read message diff"
After: "see log" -> "read message diff" -> "jump to message for context"

In addition, the change improves consistency with how reminders are
shown.

---------

Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2024-03-20 22:34:22 +05:00
0a930dcab1
Allow using expression-bodied properties (#280)
This change significantly reduces the code space used by properties
while maintaining clarity on types. Since only properties are allowed to
use expression bodies, it is clear to developers that what they are
looking at is a property or not

Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2024-03-20 21:08:59 +05:00
ca49231c86
Disable issue report button if dirty version detected (#275)
In this PR, I'm disabling the Report Issue button if a "dirty" version
is detected. This is done just in case so that "smart" developers don't
accidentally report a bug that they themselves created.

---------

Signed-off-by: mctaylors <cantsendmails@mctaylors.ru>
2024-03-20 15:59:25 +03:00
ecb92a318c
Fix /ping not showing correct locale (#276)
yeah...

---------

Signed-off-by: mctaylors <cantsendmails@mctaylors.ru>
2024-03-20 11:22:54 +00:00
cd75780582
Add "Member left" message (#234)
Closes #231

---------

Signed-off-by: mctaylors <cantsendmails@mctaylors.ru>
Signed-off-by: Macintxsh <95250141+mctaylors@users.noreply.github.com>
2024-03-20 11:18:40 +00:00
2342116e87
Add GitInfo NuGet package (#268)
In this PR, I added a NuGet package called GitInfo. It can replace
Octobot.RepositoryUrl and display the bot version as the current branch
and commit.

---------

Signed-off-by: mctaylors <cantsendmails@mctaylors.ru>
Signed-off-by: Macintxsh <95250141+mctaylors@users.noreply.github.com>
2024-03-19 20:51:32 +03:00
771750c922
Rename locale Sound to Loaded for clarity (#270)
If you go through the locales, sooner or later you will notice `Sound*`,
which is used in `GuildLoadedResponder.cs`. A new contributor (most
likely) will not understand what it is used for at once, because we use
`$"Loaded{i}".Localized()` instead of `Messages.Sound*` directly. Also,
if you change the locale's value, for example the same "Loaded!",
`Sound` will not fit anymore, because "Loaded!" is not a sound, but a
phrase.

Other suggestions are welcome.

Signed-off-by: mctaylors <cantsendmails@mctaylors.ru>
2024-03-18 21:27:35 +03:00
1894b063ae
Fix auto-unban log spam (#271)
Closes #255

Signed-off-by: mctaylors <cantsendmails@mctaylors.ru>
2024-03-18 21:26:04 +03:00
398abad277
Remove unused IDiscordRestChannelAPI in ToolsCommandGroup (#273)
Signed-off-by: Macintxsh <95250141+mctaylors@users.noreply.github.com>
2024-03-18 23:23:42 +05:00
5105b43eff
Add WelcomeMessagesChannel setting (#269)
Closes #232

Signed-off-by: mctaylors <cantsendmails@mctaylors.ru>
2024-03-18 11:42:37 +03:00
62709d927b
Add time format example to the description of commands that use TimeSpan. (#267)
This PR was made to help users who are trying /remind for the first time
by showing an example of the correct time format in the description.

---------

Signed-off-by: Macintxsh <95250141+mctaylors@users.noreply.github.com>
Signed-off-by: mctaylors <cantsendmails@mctaylors.ru>
2024-03-17 16:46:53 +03:00
8eed295fcd
Add /8ball command (#264)
@neroduckale was bored so I made this feature.

---------

Signed-off-by: mctaylors <cantsendmails@mctaylors.ru>
Signed-off-by: Macintxsh <95250141+mctaylors@users.noreply.github.com>
Co-authored-by: Octol1ttle <l1ttleofficial@outlook.com>
2024-03-13 20:40:29 +03:00
dependabot[bot]
bf8a89c4e9
Bump the remora group with 3 updates (#263) 2024-02-12 13:56:14 +05:00
dependabot[bot]
fe22ed3025
Bump muno92/resharper_inspectcode from 1.11.6 to 1.11.7 (#262) 2024-02-12 08:44:52 +00:00
d39303560d
Make LogAction return void (#261)
1) the method isn't actually async lulw
2) it always returns success, so might as well just be void

reduces complexity by a bit

Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2024-02-06 18:39:20 +00:00
58bd439aa7
Revert "Add profiler base" (#260)
Reverts TeamOctolings/Octobot#235
See #244
2024-02-06 21:35:33 +03:00
dependabot[bot]
5483bbd203
Bump the remora group with 4 updates (#259) 2024-02-06 12:09:26 +00:00
dependabot[bot]
5b4d581325
Bump muno92/resharper_inspectcode from 1.11.5 to 1.11.6 (#258)
Bumps
[muno92/resharper_inspectcode](https://github.com/muno92/resharper_inspectcode)
from 1.11.5 to 1.11.6.
<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.11.6</h2>
<!-- raw HTML omitted -->
<h2>What's Changed</h2>
<ul>
<li>Update dependency prettier to v3.2.5 by <a
href="https://github.com/renovate"><code>@​renovate</code></a> in <a
href="https://redirect.github.com/muno92/resharper_inspectcode/pull/452">muno92/resharper_inspectcode#452</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/muno92/resharper_inspectcode/compare/1.11.5...1.11.6">https://github.com/muno92/resharper_inspectcode/compare/1.11.5...1.11.6</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.11.5...1.11.6">1.11.6</a>
- 2024-02-04</h2>
<ul>
<li>Update dependency prettier to v3.2.5 by <a
href="https://github.com/renovate"><code>@​renovate</code></a> in <a
href="https://redirect.github.com/muno92/resharper_inspectcode/pull/452">muno92/resharper_inspectcode#452</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="acada41504"><code>acada41</code></a>
Merge pull request <a
href="https://redirect.github.com/muno92/resharper_inspectcode/issues/453">#453</a>
from muno92/tagpr-from-1.11.5</li>
<li><a
href="08ee0368f2"><code>08ee036</code></a>
Compile</li>
<li><a
href="b799b60c07"><code>b799b60</code></a>
[tagpr] update CHANGELOG.md</li>
<li><a
href="cbb09562f1"><code>cbb0956</code></a>
[tagpr] prepare for the next release</li>
<li><a
href="d24bc7a55c"><code>d24bc7a</code></a>
Merge pull request <a
href="https://redirect.github.com/muno92/resharper_inspectcode/issues/452">#452</a>
from muno92/renovate/all-minor-patch</li>
<li><a
href="907b47e05a"><code>907b47e</code></a>
Update dependency prettier to v3.2.5</li>
<li>See full diff in <a
href="https://github.com/muno92/resharper_inspectcode/compare/1.11.5...1.11.6">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.11.5&new-version=1.11.6)](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>
2024-02-05 18:53:55 +03:00
290449077a
Use TimeSpanParser.TryParse instead of ParseTimeSpan (#257)
The ParseTimeSpan method is not needed because we no longer use the
quirky (IMO) and long
`Parser.TryParseAsync(from).AsTask().GetAwaiter().GetResult()` to parse
TimeSpan

Signed-off-by: mctaylors <cantsendmails@mctaylors.ru>
2024-01-28 21:36:29 +03:00
f034ede58d
Parry "лан" flooders (#256)
Signed-off-by: Macintxsh <95250141+mctaylors@users.noreply.github.com>
2024-01-28 15:27:21 +03:00
af84f8853a
Add /editremind (#247)
In this PR, I'm adding a command to modify existing reminders. This can
be useful if you, for example, got the name a bit wrong or set the wrong
reminder time. Just use /editremind and recreating the reminder from
scratch will no longer be necessary.

---------

Signed-off-by: mctaylors <cantsendmails@mctaylors.ru>
2024-01-27 15:50:27 +03:00
7e9c08cab7
Don't use Option attribute in ExecuteBanAsync method (#252)
https://github.com/TeamOctolings/Octobot/issues/246#issuecomment-1912579699
> The `Option` attribute also somehow affects the command update
behavior. I'll get rid of it then.

Closes #246

Signed-off-by: mctaylors <cantsendmails@mctaylors.ru>
2024-01-27 15:06:10 +03:00
b4ae9cca2d
Update CODEOWNERS (#253)
Signed-off-by: Macintxsh <95250141+mctaylors@users.noreply.github.com>
2024-01-27 14:59:16 +03:00
83e2c5040e
Remove mctaylors.ru mentions (#251)
Signed-off-by: mctaylors <cantsendmails@mctaylors.ru>
2024-01-22 20:47:53 +05:00
dependabot[bot]
202daf5c1f
Bump muno92/resharper_inspectcode from 1.11.3 to 1.11.5 (#249)
Bumps
[muno92/resharper_inspectcode](https://github.com/muno92/resharper_inspectcode)
from 1.11.3 to 1.11.5.
<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.11.5</h2>
<!-- raw HTML omitted -->
<h2>What's Changed</h2>
<ul>
<li>Update dependency prettier to v3.2.4 by <a
href="https://github.com/renovate"><code>@​renovate</code></a> in <a
href="https://redirect.github.com/muno92/resharper_inspectcode/pull/450">muno92/resharper_inspectcode#450</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/muno92/resharper_inspectcode/compare/1.11.4...1.11.5">https://github.com/muno92/resharper_inspectcode/compare/1.11.4...1.11.5</a></p>
<h2>1.11.4</h2>
<!-- raw HTML omitted -->
<h2>What's Changed</h2>
<ul>
<li>Update dependency prettier to v3.2.3 by <a
href="https://github.com/renovate"><code>@​renovate</code></a> in <a
href="https://redirect.github.com/muno92/resharper_inspectcode/pull/448">muno92/resharper_inspectcode#448</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/muno92/resharper_inspectcode/compare/1.11.3...1.11.4">https://github.com/muno92/resharper_inspectcode/compare/1.11.3...1.11.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.11.4...1.11.5">1.11.5</a>
- 2024-01-17</h2>
<ul>
<li>Update dependency prettier to v3.2.4 by <a
href="https://github.com/renovate"><code>@​renovate</code></a> in <a
href="https://redirect.github.com/muno92/resharper_inspectcode/pull/450">muno92/resharper_inspectcode#450</a></li>
</ul>
<h2><a
href="https://github.com/muno92/resharper_inspectcode/compare/1.11.3...1.11.4">1.11.4</a>
- 2024-01-17</h2>
<ul>
<li>Update dependency prettier to v3.2.3 by <a
href="https://github.com/renovate"><code>@​renovate</code></a> in <a
href="https://redirect.github.com/muno92/resharper_inspectcode/pull/448">muno92/resharper_inspectcode#448</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="fc10815374"><code>fc10815</code></a>
Merge pull request <a
href="https://redirect.github.com/muno92/resharper_inspectcode/issues/451">#451</a>
from muno92/tagpr-from-1.11.4</li>
<li><a
href="bc33dd24aa"><code>bc33dd2</code></a>
Compile</li>
<li><a
href="028cfdecda"><code>028cfde</code></a>
[tagpr] update CHANGELOG.md</li>
<li><a
href="640972301a"><code>6409723</code></a>
[tagpr] prepare for the next release</li>
<li><a
href="c3894f5242"><code>c3894f5</code></a>
Merge pull request <a
href="https://redirect.github.com/muno92/resharper_inspectcode/issues/450">#450</a>
from muno92/renovate/all-minor-patch</li>
<li><a
href="760594a283"><code>760594a</code></a>
Update dependency prettier to v3.2.4</li>
<li><a
href="95aa80267b"><code>95aa802</code></a>
Merge pull request <a
href="https://redirect.github.com/muno92/resharper_inspectcode/issues/449">#449</a>
from muno92/tagpr-from-1.11.3</li>
<li><a
href="48e34500da"><code>48e3450</code></a>
Compile</li>
<li><a
href="b5aefe4308"><code>b5aefe4</code></a>
[tagpr] update CHANGELOG.md</li>
<li><a
href="af674ca3eb"><code>af674ca</code></a>
[tagpr] prepare for the next release</li>
<li>Additional commits viewable in <a
href="https://github.com/muno92/resharper_inspectcode/compare/1.11.3...1.11.5">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.11.3&new-version=1.11.5)](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>
2024-01-22 14:28:24 +03:00
dependabot[bot]
6a928482af
Bump muno92/resharper_inspectcode from 1.11.1 to 1.11.3 (#248)
Bumps
[muno92/resharper_inspectcode](https://github.com/muno92/resharper_inspectcode)
from 1.11.1 to 1.11.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.11.3</h2>
<!-- raw HTML omitted -->
<h2>What's Changed</h2>
<ul>
<li>Update dependency prettier to v3.2.2 by <a
href="https://github.com/renovate"><code>@​renovate</code></a> in <a
href="https://redirect.github.com/muno92/resharper_inspectcode/pull/446">muno92/resharper_inspectcode#446</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/muno92/resharper_inspectcode/compare/1.11.2...1.11.3">https://github.com/muno92/resharper_inspectcode/compare/1.11.2...1.11.3</a></p>
<h2>1.11.2</h2>
<!-- raw HTML omitted -->
<h2>What's Changed</h2>
<ul>
<li>Update dependency prettier to v3.2.1 by <a
href="https://github.com/renovate"><code>@​renovate</code></a> in <a
href="https://redirect.github.com/muno92/resharper_inspectcode/pull/444">muno92/resharper_inspectcode#444</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/muno92/resharper_inspectcode/compare/1.11.1...1.11.2">https://github.com/muno92/resharper_inspectcode/compare/1.11.1...1.11.2</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.11.2...1.11.3">1.11.3</a>
- 2024-01-14</h2>
<ul>
<li>Update dependency prettier to v3.2.2 by <a
href="https://github.com/renovate"><code>@​renovate</code></a> in <a
href="https://redirect.github.com/muno92/resharper_inspectcode/pull/446">muno92/resharper_inspectcode#446</a></li>
</ul>
<h2><a
href="https://github.com/muno92/resharper_inspectcode/compare/1.11.1...1.11.2">1.11.2</a>
- 2024-01-12</h2>
<ul>
<li>Update dependency prettier to v3.2.1 by <a
href="https://github.com/renovate"><code>@​renovate</code></a> in <a
href="https://redirect.github.com/muno92/resharper_inspectcode/pull/444">muno92/resharper_inspectcode#444</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="232528197e"><code>2325281</code></a>
Merge pull request <a
href="https://redirect.github.com/muno92/resharper_inspectcode/issues/447">#447</a>
from muno92/tagpr-from-1.11.2</li>
<li><a
href="647d06fb9d"><code>647d06f</code></a>
Compile</li>
<li><a
href="cdd28cb72a"><code>cdd28cb</code></a>
[tagpr] update CHANGELOG.md</li>
<li><a
href="fa426c01cc"><code>fa426c0</code></a>
[tagpr] prepare for the next release</li>
<li><a
href="17b3b070ca"><code>17b3b07</code></a>
Merge pull request <a
href="https://redirect.github.com/muno92/resharper_inspectcode/issues/446">#446</a>
from muno92/renovate/all-minor-patch</li>
<li><a
href="060783efbb"><code>060783e</code></a>
Update dependency prettier to v3.2.2</li>
<li><a
href="92513104eb"><code>9251310</code></a>
Merge pull request <a
href="https://redirect.github.com/muno92/resharper_inspectcode/issues/445">#445</a>
from muno92/tagpr-from-1.11.1</li>
<li><a
href="da76157235"><code>da76157</code></a>
Compile</li>
<li><a
href="adedbdf9b9"><code>adedbdf</code></a>
[tagpr] update CHANGELOG.md</li>
<li><a
href="8d31ede466"><code>8d31ede</code></a>
[tagpr] prepare for the next release</li>
<li>Additional commits viewable in <a
href="https://github.com/muno92/resharper_inspectcode/compare/1.11.1...1.11.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.11.1&new-version=1.11.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>
2024-01-15 08:11:17 +03:00
e01fde83c6
Use custom TimeSpanParser (#223)
Closes #154

---------

Signed-off-by: mctaylors <cantsendmails@mctaylors.ru>
2023-12-31 12:27:00 +00:00
894e819865
Fix newline in LogResult (#245)
Fixes an issue on Windows that would cause the `ResultErrorMessage` to
be unindented.

Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2023-12-31 13:42:59 +03:00
3134c35751
Ban usages of Thread#Sleep (#243)
Using Thread.Sleep blocks the _entire_ thread from doing *anything*,
while Task.Delay allows the thread to execute other tasks while the
delay is passing. The inability to cancel Thread.Sleep may also cause
longer shutdowns

tl;dr Thread.Sleep bad, Task.Delay good
made because of
578c03871d

Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
2023-12-21 20:21:20 +03:00
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