当前位置: 首页 > 知识库问答 >
问题:

不协调bot C#读取接收到的直接消息

南门正业
2023-03-14

我目前正在尝试为我的不和谐服务器创建我自己的机器人。我希望一个用户能够键入命令**event,然后机器人将直接消息给该用户,并问它一些事件的问题,如标题,时间等。

我可以让机器人直接向用户发送消息,但我找不到如何让机器人读取用户返回的消息。

以下是我到目前为止的代码:

public class Event : ModuleBase<SocketCommandContext> {

    private static IUser currentUser;
    private DiscordSocketClient _client;

    [Command("event")]
    public async Task EventAsync() {
        _client = new DiscordSocketClient();

        var id = Context.User.Mention;

        if(currentUser == null) {
            foreach(var user in Context.Guild.Users) {
                if(("<@!" + user.Id.ToString() + ">") == id) {
                    currentUser = user;
                    id = user.Mention;
                    break;
                }
            }
        }

        await currentUser.SendMessageAsync("Enter event title:");
    }
}

共有1个答案

微生毅
2023-03-14

我能搞清楚这件事。在主程序中。cs

static void Main(string[] args)
    => new Program().RunBotAsync().GetAwaiter().GetResult();

public async Task RunBotAsync() {
    _client.MessageReceived += MessageReceived;
}

private async Task MessageReceived(SocketMessage msg) {
    //Code to direct message here
}
 类似资料:
  • 我对不和谐没有什么经验。js和node。js,但我想知道如何将DMs发送到bot和控制台。这是我用来向不同的人发送消息的代码。

  • 当监听设备后,会返回接收到的消息数据。 请求方式: 无 返回值: "|4|2|5|message|" 返回接收到的消息 参数 message 返回的消息内容

  • 当订阅的topic接收到消息后,会返回接收到的消息数据。 请求方式: 无 返回值: "|4|1|5|topic|message|\r" 返回接收到的消息 参数 topic 返回消息的topic message 返回的消息内容

  • socket_read和socket_recv之间有什么区别?我正在尝试使用PHP套接字,但使用socket_read时收到了以下警告: 请帮帮我!

  • 我已经在创建服务方法上注册了接收者,并在销毁方法上取消注册?它工作得很好,但在某些三星Galaxy s3上,即使我停止服务,我仍然会收到接收器。如何找到解决办法?有可能吗?请帮帮我.提前致谢 }

  • 我是Kafka的新手。我在网上读了很多关于Kafka制作人和Kafka消费者的说明。我成功地实现了前者,它可以向Kafka集群发送消息。然而,我没有完成后一个。请帮我解决这个问题。我看到我的问题像StackOverflow上的一些帖子,但我想更清楚地描述一下。我在虚拟盒子的Ubuntu服务器上运行Kafka和Zookeeper。使用1个Kafka集群和1个Zookeeper集群的最简单配置(几乎是