你好,Cocoa!

December 24, 2022 · View on GitHub

通过本教程,您将学会如何通过 Cocoa Framework 实现最简单的应答机器人


在此之前


新建项目

  1. 启动 Visual Studio,创建新项目
  2. 选择控制台应用程序,继续
  3. 输入项目名,选择项目存放位置,继续
  4. 目标框架选择 .NET 6.0(一般已默认选择),创建

添加引用

  1. 在创建的项目上右键,点击“管理 Nuget 包”
  2. 进入“浏览”选项卡,搜索 Maila.Cocoa.Framework 或 maila
  3. 选中搜索结果中的 Maila.Cocoa.Framework,点击右侧界面中的“安装”

编写启动代码

将默认创建的 Program.cs 中的全部代码删除,替换为以下代码

using System;
using Maila.Cocoa.Framework;

BotStartupConfig config = new("YourVerifyKey", 12345678); // 启动配置,请将 YourVerifyKey 改为您的 VerifyKey,12345678 改为机器人的 QQ 号
var succeed = await BotStartup.ConnectAndInit(config); // 连接 Mirai 并初始化
if (succeed) // 如果连接成功
{
    Console.WriteLine("Startup OK"); // 提示连接成功
    while (Console.ReadLine() != "exit"); // 在用户往控制台输入“exit”前持续运行
    await BotStartup.DisconnectAndSaveData(); // 断开连接
}
else // 否则
{
    Console.WriteLine("Failed"); // 提示连接失败
}

实现简单应答

新建 Hello.cs 文件,并输入以下代码

using Maila.Cocoa.Framework;

[BotModule]
public class Hello : BotModuleBase
{
    [TextRoute("hello cocoa")] // 收到“hello cocoa”时调用此方法
    public static void Run(MessageSource src)
    {
        src.Send("Hi!"); // 向消息来源发送“Hi!”
    }
}

完成

运行程序,进入 QQ 测试功能


备注

如果希望主动发送消息,例如在启动时向管理员发送通知,可以通过 BotAPI.SendFriendMessage 或 BotAPI.SendGroupMessage 实现。其他与机器人相关的 API 也位于 BotAPI 类中。

BotAPI.SendFriendMessage(123456, new PlainMessage("message"));