discord.net发送DM,创建频道,未知频道

时间:2020-11-01 02:46:34

标签: c# channel discord.net dm

我使用我的漫游器来帮助用户注册事件。 他们使用-register UserId进行注册,并通过典型的反应驱动菜单获得DM答复,以设置参数并提供信息。不幸的是,每当连接中断时,所有频道都将丢失,并且响应驱动的菜单似乎对用户无响应。 反应没有到达事件处理程序,因为在重新连接后不会重新建立通道。这将显示在控制台中:

Unknown Channel (MESSAGE_REACTION_ADD Channel=387147545769541632).

更多信息在这里:[https://github.com/discord-net/Discord.Net/issues/1040] [1]

为了重新建立DM通道,我计划使用一个计时器来定期ping所有当前注册的用户。为持久起见,有关渠道和用户的所有变量都存储在用户最初注册时填充的google工作表中。

请记住,这很棘手,因为不存在上下文,也没有现有的已知通道。到目前为止,这是我尝试过的:

var sent = await Discord.UserExtensions.SendMessageAsync("User#4708", "ping");

错误:无法从“字符串”转换为“ Discord.IUser”

如果您尝试声明Discord.IUser类型的新变量并将其设置为该名称的字符串值,则发生相同的错误。

因此,我尝试避免使用“字符串”并直接获取频道或用户(“ channelID”和“ user”都非常重要)

var c = _client.GetChannel(channelID) as IMessageChannel;
var d = _client.GetDMChannelAsync(channelID)
var u = _client.GetUser(user)

c,d和u都导致'null',并且如果尝试使用任何版本的.SendMessageAsync方法,则会得到未设置对象引用错误。

即使我了解他们的所有信息,我怎么也无法向其发送DM?

0 个答案:

没有答案