问题标签 [dsharp+]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
362 浏览

c# - 如何从命令中获取输入并在另一个带有 dsharpplus 的 c# discord 中使用它

我有一个 Discord Bot 来获取锦标赛信息。我希望它从 !newtourneyinfo INFOHERE 之类的命令中获取输入,然后将 INFOHERE 用作字符串并在 !tourneyinfo 中使用它。我正在使用 DSharpPlus,这是一些不起作用的代码,但我作为新手最好的镜头:

0 投票
0 回答
128 浏览

c# - Heroku 在尝试发布 .NET Core 应用程序时不会检测到预发布的不同包来源的 NuGet 库

我已经花费了大量时间使用 DSharpPlus 开发这个 .NET Core Discord 机器人,并且我想将它托管在 Heroku 上,至少现在是这样。

为此,我在 CMD 中运行了以下命令:

(如您所见,我正在使用第三方构建包。)

但是,我使用的是 DSharpPlus 的每晚 4.0 版本,它在包源中可用,https://nuget.emzi0767.com/api/v3/index.json而不是默认的 nugethttps://api.nuget.org/v3/index.json

这在 Visual Studio 和使用中编译并运行良好dotnet run,但是,在执行时git push heroku master,我收到以下错误,表明它找不到 DSharpPlus 库:

无法找到版本 (>= 4.0.0-nightly-00621) 的包 DSharpPlus - 在 nuget.org [最近的版本:3.2.3] 中找到 38 个版本

所以简而言之,Heroku 没有检测到我拥有的预发布非默认包来源的 NuGet 库,并且因此无法推送。

0 投票
1 回答
851 浏览

c# - 我如何获得消息中提到的 Discord 成员并授予他角色?

这就是我想出的代码

它给了我一个例外

CS0029 无法将类型隐式转换"System.Threading.Tasks.Task< DSharpPlus.Entities.DiscordMember>""DSharpPlus.Entities.DiscordMember"

正如您在此处看到的那样-我在该行中的意图是创建一个类变量DiscordMember并将其设置DiscordMember为由返回 的变量ctx.Guild.GetMemberAsync(),但由于某种原因,Visual Studio告诉我DiscordMember返回的变量GetMemberAsync()DiscordMember我尝试的不同创建,以后使用 for .GrantRoleAsync(),这让我很困惑。

edit1** 我必须补充一点,如果我替换DiscordMember为该var

var member = ctx.Guild.GetMemberAsync(user); 然后我没有给我一个关于转换失败的异常,我根本无法调用变量.GrantRoleAsync()的方法member(异常 CS1061)

0 投票
2 回答
867 浏览

c# - 具有 Entity Framework Core 的 .NET 控制台应用程序:“进程没有包标识”仅在没有调试的情况下启动

我有一个与 Entity Framework 和 Discord Sharp Plus 集成的 .NET 控制台应用程序,其中包含以下库:

  • DSharpPlus
  • DSharpPlus.CommandsNext
  • Microsoft.EntityFrameworkCore.Design
  • Microsoft.EntityFrameworkCore.Sqlite
  • Microsoft.EntityFrameworkCore.Tools

在不调试的情况下运行应用程序(Visual Studio 中的 Control + F5)工作得很好,没有出现崩溃。

但是,如果我在调试的情况下运行,在访问我的 时DbContext,我会收到一个错误

InvalidOperationException:进程没有包标识(0x80073D54)

一个例子是这一行:

出于调试目的,如果我更改SingleOrDefaultElementAt(0),我会收到以下错误:

System.InvalidOperationException
HResult=0x80131509
消息=“NavigationExpandingExpressionVisitor”处理 LINQ 表达式“DbSet .ElementAtOrDefault(__p_0)”失败。这可能表示 EF Core 中的错误或限制。有关更多详细信息,请参阅https://go.microsoft.com/fwlink/?linkid=2101433
源=Microsoft.EntityFrameworkCore

堆栈跟踪:

在 Microsoft.EntityFrameworkCore.Query.Internal.NavigationExpandingExpressionVisitor.VisitMethodCall(MethodCallExpression methodCallExpression)

这不是 UWP 应用。它是一个带有多个类库的 .NET 控制台应用程序。

这是我的 Dbcontext 类:

0 投票
1 回答
983 浏览

c# - 为什么我在使用 discord.net 的机器人上不断收到“错误请求:400”错误?

我正在使用 c# 和一个名为DSharpPlus的库制作一个不和谐的机器人(如果这有帮助的话),我正在尝试制作一个 purge 命令,但我一直得到一个

错误请求:400

错误,我不知道如何解决它。我已经尝试在网上寻找它,但找不到任何东西,而且我对 C# 也有点陌生,并且已经在这方面做了很多事情,以至于我不能回去了。这是我的代码:

如果它看起来很糟糕,那么我还是 C# 新手,所以我知道的不多。请帮助,因为我已经尝试了很多次,所以我现在只需要寻求帮助。谢谢!

编辑:基本上命令剂量确实有效,但它给了我一个错误Bad Request: 400,我真的不知道为什么。

如果这也有帮助,这就是我不断得到的:

Nitro7256 尝试执行“清除”但它出错:DSharpPlus.Exceptions.BadRequestException:错误请求:400

0 投票
2 回答
1603 浏览

c# - 如何检测对 DM 消息的反应?-DSharpPlus

最近,我一直在尝试学习 C#,因此我正在使用 DSharpPlus 来制作 Discord Bot。我对这个机器人的计划是做很多事情,但主要的事情之一是创建一种方法来确保我服务器中的每个人都“同意规则”。我希望它看起来不错,所以我组装了一个 DiscordEmbed 并开始尝试在这个 API 中使用交互性的方法。我想直接向用户(DMChannel)发送一条消息,询问他们是否接受使用反应的规则yesReaction & noReaction。我尝试了很多方法,但由于某种原因WaitForReactionAsync(),一旦做出反应,我就无法继续。下面是我的代码片段。

一般问题:这可能吗?如果可以,我做错了什么,因为这在我的公会中的正常渠道上有效。

0 投票
1 回答
264 浏览

c# - 检测何时在服务器中发送消息

我正在尝试使用 DSharp+ 制作一个 Discord Bot,它会在特定时间范围内删除服务器中发送的所有消息。但是,在查看 DSharp+ API 和广泛研究时,我找不到任何方法让机器人检测是否发送了消息并决定是否删除它。如果可能的话,我将如何做这件事?

0 投票
1 回答
51 浏览

c# - 为什么 MeasureString 会抛出读/写内存错误?

我已经四处寻找了一段时间,试图找到这个问题的答案,但我根本无法将我的头绕在读/写内存上。我认为读/写内存更适合 C++,因为你在那里管理它,因为 C# 通常会处理它。尽管如此,下面是我创建的名为DrawLevelCard的函数的 pastebim 链接。这样做的目的是为我的不和谐制作一张等级卡。问题是有时它会在以下行引发错误:

var measure3 = gr.MeasureString(" / " + ExpNeeded + " Exp", Levelfont);

错误: An unhandled exception of type 'System.AccessViolationException' occurred in System.Drawing.Common.dll Attempted to read or write protected memory. This is often an indication that other memory is corrupt.

这不会发生在任何其他行上,如果我将它全部删除,没有它我将无法复制它。问题是这对于我设置图像的方式有点必要。PasteBin:https ://pastebin.com/ab00GLLs

卡片图片供参考: https ://i.imgur.com/q7nz2K6.png

更新:如果有人需要额外信息,这是完整的课程:) https://pastebin.com/Bbi7zt2b

0 投票
0 回答
401 浏览

c# - Dsharpplus 不响应命令

好的,所以我正在尝试使用 c# discord bot,所以我找到了一个带有基本 bot 模板的旧存储库,但是在运行 bot 之后,似乎这些命令要么没有正确注册,要么没有被正确调用。

主要机器人文件

命令文件

我使用的是旧版本的 dsharp

套餐

不知道我做错了什么,或者它是否只是简单的事情。如果需要任何其他信息,请询问,我可以发送。

0 投票
0 回答
206 浏览

c# - Discord.net 向特定用户发送 DM?

所以我整天都在寻找一种向特定用户发送私人消息的方法。我正在制作一个票务系统,我需要将 DM 中的所有票证打印给执行该命令的人。

正如你所看到的,有一个包含所有门票的清单,这就是我需要通过 DM 发送的东西。我尝试在 youtube、Discord.net Docs、DSharpplus Docs 以及互联网上的每个论坛上进行搜索,但它们都列出了可能在最近版本中删除的功能。谁能帮我这个?我只需要一种方法来 DM 用户