diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2c6048891..87d9709cb 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,36 +1,37 @@ name: "Build Library" on: push: branches: - main pull_request: merge_group: workflow_dispatch: env: DOTNET_NOLOGO: true DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true DOTNET_CLI_TELEMETRY_OPTOUT: true DOTNET_SYSTEM_GLOBALIZATION_INVARIANT: true jobs: build: - timeout-minutes: 6 + timeout-minutes: 15 strategy: matrix: os: [ubuntu-latest, windows-latest] - dotnet: [7.0.203] runs-on: ${{ matrix.os }} name: Build library steps: - name: Checkout repository uses: actions/checkout@v3 - name: Setup .NET uses: actions/setup-dotnet@v3.0.3 with: - dotnet-version: ${{ matrix.dotnet }} + dotnet-version: | + 7.0.203 + 6.x - name: Build library run: dotnet build -c Release -v normal DisCatSharp.sln - name: Test library run: dotnet test -v normal -c Release --no-restore --no-build DisCatSharp.sln diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index fe4b5c94b..b7b31eabc 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -1,35 +1,35 @@ name: "CodeQL" on: push: branches: [ main ] pull_request: branches: [ main ] schedule: - cron: '39 18 * * 3' workflow_dispatch: jobs: analyze: name: Analyze runs-on: ubuntu-latest permissions: actions: read contents: read security-events: write strategy: fail-fast: false matrix: language: [ 'csharp' ] steps: - name: Checkout repository uses: actions/checkout@v3 - name: Initialize CodeQL uses: github/codeql-action/init@v2 with: languages: ${{ matrix.language }} - name: Build run: | - dotnet build -c Release -v minimal -f net7.0 --no-self-contained DisCatSharp.sln + dotnet build -c Release -v minimal --no-self-contained DisCatSharp.sln - name: Perform CodeQL Analysis uses: github/codeql-action/analyze@v2 diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index 3e393495a..c95b77c28 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -1,112 +1,113 @@ name: "Documentation" on: workflow_dispatch: env: DOTNET_NOLOGO: true DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true DOTNET_CLI_TELEMETRY_OPTOUT: true DOTNET_SYSTEM_GLOBALIZATION_INVARIANT: true jobs: build: - timeout-minutes: 30 + timeout-minutes: 25 runs-on: ubuntu-latest name: Build documentation steps: - name: Checkout repository uses: actions/checkout@v3 with: token: ${{ secrets.NYUW_TOKEN_GH }} - name: Setup .NET uses: actions/setup-dotnet@v3.0.3 with: dotnet-version: 7.0.203 - name: Git fetch unshallow run: git fetch --unshallow - name: Install DocFX run: dotnet tool update -g docfx --prerelease - name: Restore packages run: dotnet restore DisCatSharp.sln - name: Build library - run: dotnet build -c Release --no-restore -v minimal DisCatSharp.sln + run: dotnet build -c Release --no-restore -v minimal -f net7.0 DisCatSharp.sln + timeout-minutes: 7 continue-on-error: true - name: Add Custom Plugins run: cp -R DisCatSharp.Docs/dcs/plugins/* /home/runner/.dotnet/tools/.store/docfx/2.67.0/docfx/2.67.0/tools/net7.0/any/ - name: Build Docs run: docfx DisCatSharp.Docs/docfx.json - name: Pack Docs shell: pwsh run: ./DisCatSharp.Tools/pack-docs.ps1 -DocsPath "./DisCatSharp.Docs" -OutputPath "./" -PackageName "dcs-docs" - name: Upload packed docs uses: actions/upload-artifact@v3 with: name: dcs-docs.zip path: dcs-docs.zip retention-days: 30 # - name: Force add build files # run: git add DisCatSharp.Docs/obj/.cache/build/* -f # - name: Commit and push changes # uses: EndBug/add-and-commit@main # with: # default_author: user_info # author_name: NyuwBot # author_email: nyuw@aitsys.dev # committer_name: NyuwBot # committer_email: nyuw@aitsys.dev # commit: --signoff # message: '[ci skip] Sync docs changes' # tag_push: '--force' documentation: runs-on: ubuntu-latest name: Upload documentation needs: build steps: - name: Checkout docs repository uses: actions/checkout@v3 with: repository: Aiko-IT-Systems/DisCatSharp.Docs token: ${{ secrets.NYUW_TOKEN_GH }} - name: Purge old docs shell: pwsh run: Get-ChildItem -Exclude .git* | Remove-Item -Recurse -Force - name: Download packed docs uses: actions/download-artifact@v3 with: name: dcs-docs.zip - name: Extract new docs run: unzip dcs-docs.zip -d . - name: Deleze zip run: rm dcs-docs.zip - name: Delete packed docs uses: geekyeggo/delete-artifact@v2 with: name: dcs-docs.zip - name: Add .htaccess run: rm -f .htaccess && wget https://gist.githubusercontent.com/Lulalaby/8a032d0ddebb9125691094edc67b6593/raw/0c4bf0423cfe334fdd5092b014d2481759dd052a/.htaccess #- name: Add _redirects # run: rm -f _redirects && wget https://gist.githubusercontent.com/Lulalaby/0c784680a855fd161411002e3859b4fd/raw/9708d1acfce3f647cbb8da19c2022a20198979fa/_redirects - name: Set access rights run: sudo chmod 777 -R . - name: Commit and push changes uses: EndBug/add-and-commit@main with: default_author: user_info author_name: NyuwBot author_email: nyuw@aitsys.dev committer_name: NyuwBot committer_email: nyuw@aitsys.dev commit: --signoff message: 'Docs update (https://github.com/${{github.repository}}/commit/${{github.sha}})' publish-backup: runs-on: ubuntu-latest name: Publish documentation on backup server needs: documentation steps: - name: Get SSH Agent uses: webfactory/ssh-agent@v0.8.0 with: ssh-private-key: ${{ secrets.AITSYS_SSH }} - name: Publish on server continue-on-error: true run: ssh -o StrictHostKeyChecking=no -T root@207.180.240.241 -f 'cd /var/www/dcsdocs && git pull -f && service apache2 restart' diff --git a/.github/workflows/documentation_test.yml b/.github/workflows/documentation_test.yml index e0809a5fc..14f932a3c 100644 --- a/.github/workflows/documentation_test.yml +++ b/.github/workflows/documentation_test.yml @@ -1,104 +1,104 @@ name: "Test Documentation" on: pull_request: branches: - main env: DOTNET_NOLOGO: true DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true DOTNET_CLI_TELEMETRY_OPTOUT: true DOTNET_SYSTEM_GLOBALIZATION_INVARIANT: true jobs: build: - timeout-minutes: 15 + timeout-minutes: 20 runs-on: ubuntu-latest name: Build documentation steps: - name: Checkout repository uses: actions/checkout@v3 with: token: ${{ secrets.NYUW_TOKEN_GH }} - name: Setup .NET uses: actions/setup-dotnet@v3.0.3 with: dotnet-version: 7.0.203 - name: Install DocFX run: dotnet tool update -g docfx --prerelease continue-on-error: true - name: Restore packages run: dotnet restore DisCatSharp.sln - name: Build library - run: dotnet build -c Release -v minimal --no-restore DisCatSharp.sln - timeout-minutes: 3 + run: dotnet build -c Release -v minimal -f net7.0 --no-restore DisCatSharp.sln + timeout-minutes: 7 continue-on-error: true - name: Add Custom Plugins run: cp -R DisCatSharp.Docs/dcs/plugins/* /home/runner/.dotnet/tools/.store/docfx/2.67.0/docfx/2.67.0/tools/net7.0/any/ - name: Build Docs run: docfx DisCatSharp.Docs/docfx.json - name: Pack Docs shell: pwsh run: ./DisCatSharp.Tools/pack-docs.ps1 -DocsPath "./DisCatSharp.Docs" -OutputPath "./" -PackageName "dcs-docs-preview" - name: Upload packed docs uses: actions/upload-artifact@v3 with: name: dcs-docs-preview.zip path: dcs-docs-preview.zip retention-days: 2 test_documentation: runs-on: ubuntu-latest name: Test documentation needs: build steps: - name: Dynamically create branch uses: GuillaumeFalourd/create-other-repo-branch-action@v1.5 with: repository_owner: Aiko-IT-Systems repository_name: DisCatSharp.Docs new_branch_name: ${{ github.head_ref }} access_token: ${{ secrets.NYUW_TOKEN_GH }} ignore_branch_exists: true git_user_name: NyuwBot git_user_email: nyuw@aitsys.dev - name: Checkout docs repository uses: actions/checkout@v3 with: repository: Aiko-IT-Systems/DisCatSharp.Docs token: ${{ secrets.NYUW_TOKEN_GH }} ref: ${{ github.head_ref }} - name: Purge old docs shell: pwsh run: Get-ChildItem -Exclude .git* | Remove-Item -Recurse -Force - name: Download packed docs uses: actions/download-artifact@v3 with: name: dcs-docs-preview.zip - name: Extract new docs run: unzip dcs-docs-preview.zip -d . - name: Deleze zip run: rm dcs-docs-preview.zip - name: Add .htaccess run: rm -f .htaccess && wget https://gist.githubusercontent.com/Lulalaby/8a032d0ddebb9125691094edc67b6593/raw/0c4bf0423cfe334fdd5092b014d2481759dd052a/.htaccess #- name: Add _redirects # run: rm -f _redirects && wget https://gist.githubusercontent.com/Lulalaby/0c784680a855fd161411002e3859b4fd/raw/9708d1acfce3f647cbb8da19c2022a20198979fa/_redirects - name: Set access rights run: sudo chmod 777 -R . - name: Commit changes run: | git config user.name NyuwBot git config user.email nyuw@aitsys.dev git add . git commit -m "Test-Docs update (https://github.com/${{github.repository}}/commit/${{github.sha}})" git push -f - name: Add PR Comment if: always() uses: mshick/add-pr-comment@v2 with: refresh-message-position: true message-success: | Documentation test build passed! :tada: Visit the cloudflare action run in https://github.com/Aiko-IT-Systems/DisCatSharp.Docs/commits/${{github.head_ref}} for details :3 ![gif](https://media.tenor.com/3PjRNS8paykAAAAC/pat-pat-head.gif) message-failure: "Documentation test build failed! :x:" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 48d4f58d9..ec8da6a03 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,54 +1,56 @@ name: "Release DisCatSharp" on: workflow_dispatch: inputs: version_suffix: description: "Version Suffix" required: false type: string release_as_prerelease: description: "Release as pre-release" required: true type: boolean env: DOTNET_NOLOGO: true DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true DOTNET_CLI_TELEMETRY_OPTOUT: true DOTNET_SYSTEM_GLOBALIZATION_INVARIANT: true jobs: release: - timeout-minutes: 30 + timeout-minutes: 15 runs-on: windows-latest name: Build library and release steps: - name: Checkout repository uses: actions/checkout@v3 - name: Setup .NET uses: actions/setup-dotnet@v3.0.3 with: - dotnet-version: 7.0.203 + dotnet-version: | + 7.0.203 + 6.x - name: Restore dependencies run: dotnet restore DisCatSharp.sln - name: Build library as full release if: ${{!inputs.release_as_prerelease}} shell: pwsh run: ./DisCatSharp.Tools/rebuild-lib.ps1 -ArtifactLocation ./dcs-artifacts -Configuration Release - name: Build library as pre-release if: ${{inputs.release_as_prerelease}} shell: pwsh run: ./DisCatSharp.Tools/rebuild-lib.ps1 -ArtifactLocation ./dcs-artifacts -Configuration Release -VersionSuffix ${{github.event.inputs.version_suffix}} - name: Remove invalid packages shell: pwsh run: rm *.symbols.* working-directory: ./dcs-artifacts - name: Publish to NuGet shell: pwsh run: dotnet nuget push --source https://api.nuget.org/v3/index.json -k ${{secrets.NUGET_API_KEY}} * --skip-duplicate working-directory: ./dcs-artifacts - name: Publish to GitHub Packages shell: pwsh run: dotnet nuget push --source https://nuget.pkg.github.com/Aiko-IT-Systems/index.json -k ${{secrets.NYUW_TOKEN_GH}} * working-directory: ./dcs-artifacts diff --git a/DisCatSharp.ApplicationCommands/DisCatSharp.ApplicationCommands.csproj b/DisCatSharp.ApplicationCommands/DisCatSharp.ApplicationCommands.csproj index 8938919da..80db0413c 100644 --- a/DisCatSharp.ApplicationCommands/DisCatSharp.ApplicationCommands.csproj +++ b/DisCatSharp.ApplicationCommands/DisCatSharp.ApplicationCommands.csproj @@ -1,43 +1,43 @@ DisCatSharp.ApplicationCommands DisCatSharp.ApplicationCommands DisCatSharp.ApplicationCommands DisCatSharp Application Commands Extension Use it on top of your DisCatSharp powered bot and unleash the power of application commands in discord. Documentation: https://docs.discatsharp.tech/articles/modules/application_commands/intro.html - DisCatSharp,Discord API Wrapper,Discord,Bots,Discord Bots,AITSYS,Net7,Application Commands,Context Menu Commands + DisCatSharp,Discord API Wrapper,Discord,Bots,Discord Bots,AITSYS,Net6,Net7,Application Commands,Context Menu Commands all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/DisCatSharp.CommandsNext/DisCatSharp.CommandsNext.csproj b/DisCatSharp.CommandsNext/DisCatSharp.CommandsNext.csproj index 833721386..ffd43426c 100644 --- a/DisCatSharp.CommandsNext/DisCatSharp.CommandsNext.csproj +++ b/DisCatSharp.CommandsNext/DisCatSharp.CommandsNext.csproj @@ -1,43 +1,43 @@ DisCatSharp.CommandsNext DisCatSharp.CommandsNext DisCatSharp.CommandsNext DisCatSharp Commands Next Extension Allow your users to use text commands in your bot. Note: Requires the Message Content Intent enabled for your discord application. Documentation: https://docs.discatsharp.tech/articles/modules/commandsnext/intro.html - DisCatSharp,Discord API Wrapper,Discord,Bots,Discord Bots,AITSYS,Net7,Text Commands + DisCatSharp,Discord API Wrapper,Discord,Bots,Discord Bots,AITSYS,Net6,Net7,Text Commands all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/DisCatSharp.Common/DisCatSharp.Common.csproj b/DisCatSharp.Common/DisCatSharp.Common.csproj index 911d120e2..4400a8887 100644 --- a/DisCatSharp.Common/DisCatSharp.Common.csproj +++ b/DisCatSharp.Common/DisCatSharp.Common.csproj @@ -1,55 +1,55 @@ DisCatSharp.Common DisCatSharp.Common True True True Portable DisCatSharp.Common DisCatSharp Common Extension Common tools for DisCatSharp, like regexes and converters! - DisCatSharp,Discord API Wrapper,Discord,Bots,Discord Bots,AITSYS,Net7,Common Tools + DisCatSharp,Discord API Wrapper,Discord,Bots,Discord Bots,AITSYS,Net6,Net7,Common Tools enable False 1701;1702;DV2001 1701;1702;DV2001 all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/DisCatSharp.Configuration/DisCatSharp.Configuration.csproj b/DisCatSharp.Configuration/DisCatSharp.Configuration.csproj index e6a181264..b20183d12 100644 --- a/DisCatSharp.Configuration/DisCatSharp.Configuration.csproj +++ b/DisCatSharp.Configuration/DisCatSharp.Configuration.csproj @@ -1,38 +1,38 @@ DisCatSharp.Configuration DisCatSharp.Configuration True DisCatSharp.Configuration Configuration for the DisCatSharp Hosting Extension. - DisCatSharp,Discord API Wrapper,Discord,Bots,Discord Bots,AITSYS,Net7,Hosting,Web,Configuration + DisCatSharp,Discord API Wrapper,Discord,Bots,Discord Bots,AITSYS,Net6,Net7,Hosting,Web,Configuration all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/DisCatSharp.Experimental/DisCatSharp.Experimental.csproj b/DisCatSharp.Experimental/DisCatSharp.Experimental.csproj index 184166124..001a7d589 100644 --- a/DisCatSharp.Experimental/DisCatSharp.Experimental.csproj +++ b/DisCatSharp.Experimental/DisCatSharp.Experimental.csproj @@ -1,38 +1,38 @@ DisCatSharp.Experimental DisCatSharp.Experimental DisCatSharp.Experimental DisCatSharp.Experimental Experimental changes for DisCatSharp. - DisCatSharp,Experimental,Discord API Wrapper,Discord,Bots,Discord Bots,AITSYS,Net7 + DisCatSharp,Experimental,Discord API Wrapper,Discord,Bots,Discord Bots,AITSYS,Net6,Net7 all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/DisCatSharp.Hosting.DependencyInjection/DisCatSharp.Hosting.DependencyInjection.csproj b/DisCatSharp.Hosting.DependencyInjection/DisCatSharp.Hosting.DependencyInjection.csproj index a0261a720..c11c9ce37 100644 --- a/DisCatSharp.Hosting.DependencyInjection/DisCatSharp.Hosting.DependencyInjection.csproj +++ b/DisCatSharp.Hosting.DependencyInjection/DisCatSharp.Hosting.DependencyInjection.csproj @@ -1,30 +1,30 @@ DisCatSharp.Hosting.DependencyInjection Dependency Injection for the DisCatSharp Hosting Extension. - DisCatSharp,Discord API Wrapper,Discord,Bots,Discord Bots,AITSYS,Net7,Hosting,Web,Dependency Injection + DisCatSharp,Discord API Wrapper,Discord,Bots,Discord Bots,AITSYS,Net6,Net7,Hosting,Web,Dependency Injection all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/DisCatSharp.Hosting/DisCatSharp.Hosting.csproj b/DisCatSharp.Hosting/DisCatSharp.Hosting.csproj index c45d7e955..2646dd60b 100644 --- a/DisCatSharp.Hosting/DisCatSharp.Hosting.csproj +++ b/DisCatSharp.Hosting/DisCatSharp.Hosting.csproj @@ -1,32 +1,32 @@ DisCatSharp.Hosting Hosting Extension for DisCatSharp. - DisCatSharp,Discord API Wrapper,Discord,Bots,Discord Bots,AITSYS,Net7,Hosting,Web + DisCatSharp,Discord API Wrapper,Discord,Bots,Discord Bots,AITSYS,Net6,Net7,Hosting,Web all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/DisCatSharp.Interactivity/DisCatSharp.Interactivity.csproj b/DisCatSharp.Interactivity/DisCatSharp.Interactivity.csproj index f5693fa68..2ca1976d3 100644 --- a/DisCatSharp.Interactivity/DisCatSharp.Interactivity.csproj +++ b/DisCatSharp.Interactivity/DisCatSharp.Interactivity.csproj @@ -1,42 +1,42 @@ DisCatSharp.Interactivity DisCatSharp.Interactivity DisCatSharp.Interactivity DisCatSharp Interactivity Extension Unleash the full power of discord commands. Documentation: https://docs.discatsharp.tech/articles/modules/interactivity.html - DisCatSharp,Discord API Wrapper,Discord,Bots,Discord Bots,AITSYS,Net7,Pagination,Reactions,Buttons,Interactive Commands,Interactivity,Message Components + DisCatSharp,Discord API Wrapper,Discord,Bots,Discord Bots,AITSYS,Net6,Net7,Pagination,Reactions,Buttons,Interactive Commands,Interactivity,Message Components all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/DisCatSharp.Lavalink/DisCatSharp.Lavalink.csproj b/DisCatSharp.Lavalink/DisCatSharp.Lavalink.csproj index 67d8c6fa7..2e21b9427 100644 --- a/DisCatSharp.Lavalink/DisCatSharp.Lavalink.csproj +++ b/DisCatSharp.Lavalink/DisCatSharp.Lavalink.csproj @@ -1,43 +1,43 @@ DisCatSharp.Lavalink DisCatSharp.Lavalink true DisCatSharp.Lavalink DisCatSharp Lavalink Extension Extend your bot with the power of lavalink. Play your favorite music in discord! Documentation: https://docs.discatsharp.tech/articles/modules/audio/lavalink/setup.html - DisCatSharp,Discord API Wrapper,Discord,Bots,Discord Bots,AITSYS,Net7,Voice,Lavalink,Audio Player,Music,YouTube,Spotify,SoundCloud + DisCatSharp,Discord API Wrapper,Discord,Bots,Discord Bots,AITSYS,Net6,Net7,Voice,Lavalink,Audio Player,Music,YouTube,Spotify,SoundCloud all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/DisCatSharp.Targets/Library.targets b/DisCatSharp.Targets/Library.targets index 18054c5a1..b2914f8fd 100644 --- a/DisCatSharp.Targets/Library.targets +++ b/DisCatSharp.Targets/Library.targets @@ -1,8 +1,8 @@ Library - net7.0 + net6.0;net7.0 enable diff --git a/DisCatSharp.VoiceNext.Natives/DisCatSharp.VoiceNext.Natives.csproj b/DisCatSharp.VoiceNext.Natives/DisCatSharp.VoiceNext.Natives.csproj index 125e3c53d..dd955020e 100644 --- a/DisCatSharp.VoiceNext.Natives/DisCatSharp.VoiceNext.Natives.csproj +++ b/DisCatSharp.VoiceNext.Natives/DisCatSharp.VoiceNext.Natives.csproj @@ -1,45 +1,45 @@ false win-x86;win-x64 true false symbols.nupkg DisCatSharp.VoiceNext.Natives Natives for DisCatSharp Voice Next Extension Manual Download: https://docs.discatsharp.tech/natives/index.html - DisCatSharp,Discord API Wrapper,Discord,Bots,Discord Bots,AITSYS,Net7,Voice,Audio Player + DisCatSharp,Discord API Wrapper,Discord,Bots,Discord Bots,AITSYS,Net6,Net7,Voice,Audio Player true runtimes all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/DisCatSharp.VoiceNext/DisCatSharp.VoiceNext.csproj b/DisCatSharp.VoiceNext/DisCatSharp.VoiceNext.csproj index 1869b21b3..a13488b21 100644 --- a/DisCatSharp.VoiceNext/DisCatSharp.VoiceNext.csproj +++ b/DisCatSharp.VoiceNext/DisCatSharp.VoiceNext.csproj @@ -1,47 +1,47 @@ DisCatSharp.VoiceNext DisCatSharp.VoiceNext true DisCatSharp.VoiceNext DisCatSharp Voice Next Extension Easy made audio player for discord bots. Documentation: https://docs.discatsharp.tech/articles/modules/audio/voicenext/prerequisites.html - DisCatSharp,Discord API Wrapper,Discord,Bots,Discord Bots,AITSYS,Net7,Voice,Audio Player + DisCatSharp,Discord API Wrapper,Discord,Bots,Discord Bots,AITSYS,Net6,Net7,Voice,Audio Player all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/DisCatSharp/DisCatSharp.csproj b/DisCatSharp/DisCatSharp.csproj index 332ec4e8f..834af7cec 100644 --- a/DisCatSharp/DisCatSharp.csproj +++ b/DisCatSharp/DisCatSharp.csproj @@ -1,69 +1,69 @@ DisCatSharp DisCatSharp DisCatSharp DisCatSharp Your library to write discord bots in C# with a focus on always providing access to the latest discord features. Written with love and for everyone. - DisCatSharp,Discord API Wrapper,Discord,Bots,Discord Bots,AITSYS,Net7 + DisCatSharp,Discord API Wrapper,Discord,Bots,Discord Bots,AITSYS,Net6,Net7 all runtime; build; native; contentfiles; analyzers; buildtransitive True True Resources.resx ResXFileCodeGenerator Resources.Designer.cs