繁体   English   中英

如何在 C# 中使用 Discord Bot 发送消息?

[英]How send a message with a Discord Bot in C#?

我试图了解如何在没有我发送任何事件或命令的情况下将带有 Discord Bot 的消息发送到我的频道?

我想要实现的结果是,通过计时器机器人,您每分钟在聊天中发送一条消息。

如果你能用一些例子向我解释一下,我将非常感谢你

有多种方法可以在不使用命令的情况下将消息发送到通道中。 本质上,您是在问如何从不继承自ModuleBase的 class 发送消息。

这需要您使用依赖注入将DiscordSocketClient注入到您要从中发送消息的 class 中。

您可以在官方文档和 Discord.Net 提供的示例机器人(假设您正在使用这个库)中了解更多关于依赖注入的信息(因为它是一个很大的话题)。

简单的解决方案如下所示。

public class MyClass
{
    private readonly DiscordSocketClient _client;
    public MyClass(DiscordSocketClient client) => client = client 

    public async Task SendMessageToChannel(ulong channelId, string message)
    {
        SocketChannel channel = _client.GetChannel(channelId);
        await (channel as IMessageChannel).SendMessageAsync(message);
    }
} 

理想情况下,您还应该创建一个名为IMyClass的接口并让MyClass实现它。 这样,您也可以有效地将MyClass的方法配置为服务。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM