.net - DeleteMessagesAsync Discord.net
问题描述
我正在使用 Discord.net (V1.0.1),
尝试转换(v0.9.6)但遇到错误。(删除最后一条消息)
(v0.9.6) 代码 图像
我的代码:
Private Async Function onMsg(message As SocketMessage) As Task
If message.Source = MessageSource.Bot Then
'nothing
Else
If message.Content.Contains("clear") Then
Dim mssg() As Discord.MessageSource = Await DeleteMessagesAsync(100)
End If
End If
End Function
错误:严重性代码描述项目文件行抑制状态错误 BC30451 'DeleteMessagesAsync' 未声明。由于其保护级别,它可能无法访问。
解决方案
这应该给你一个想法,这是针对 Discord.net V2.x
这将从使用该命令的通道中检索默认为 100 的消息列表,然后尝试删除。
如果任何消息超过 2 周,它将失败,因此需要添加例外以捕获
IEnumerable<IMessage> var = await Context.Channel.GetMessagesAsync(input).FlattenAsync();
((ITextChannel)Context.Channel).DeleteMessagesAsync(var)
推荐阅读
- python - 从启动另一个进程的python运行.sh脚本
- android - 如何将自定义参数与保留事件一起发送到 Firebase 分析
- vue.js - Vuetify 德语变音符号未在 Visual Studio 2017 中显示
- java - 位图图像不显示
- javascript - Node.js Botframework 4 - 带有按钮的英雄卡在 Facebook 信使上不起作用
- ios - UIDatePicker 显示 12 小时时间而不是 24 小时时间
- docker - 生产中的 Docker,源数据,db 数据,更新过程
- javascript - Jitsi-meet视频会议连接10秒后自动失败
- c# - 计算具有价值的变量,如果它满足条件,做我想做的事
- c# - 如何使 System.Management.Automation.PowerShell 输出与通过命令行运行相同