日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

使用C# 开始第一个QQ机器人

發布時間:2023/12/20 C# 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用C# 开始第一个QQ机器人 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本示例將會使用”嚶鵡學舌”這個小插件的實現來演示如何使用Newbe.Mahua實現第一個機器人插件。

插件功能

自動將發送者的消息回發給發送人,嚶鵡(Parrot,其實是說嚶嚶嚶怪)學舌。

開發環境要求

  • .Net Framework 4.5.2 及以上
  • Visual Studio 2017(VS2015 update 3 理論上也能夠開發,但開發遇到的問題,需自行解決)
  • powershell 5.0及以上

設置Powershell執行策略限制

參考鏈接:http://www.pstips.net/powershell-create-and-start-scripts.html

簡單來說,使用管理員權限在cmd中運行以下命令:

powershell -command "Set-ExecutionPolicy RemoteSigned -Force"

安裝VS擴展

從VS擴展商店下載最新的VS擴展,下載地址為:https://marketplace.visualstudio.com/items?itemName=Newbe36524.NewbeMahuaVsExtensions

若出現下載不暢通,也可以通過加入技術交流群,在群文件中進行下載。點擊加入Newbe.Mahua群【610394020】

安裝過程可能需要花費若干分鐘,需耐心等待。

安裝完畢,需要重啟所有VS方可生效。

新建項目

項目名稱至少需要包含三部分,形如AAA.BBB.CCC的形式。

新建項目時,可以根據”希望支持的插件平臺”來選擇特定后綴的項目模板來安裝。

Newbe.Mahua.Plugins.Template是安裝了所有平臺支持包的項目模板。本示例將使用此項目模板進行演示。

本插件項目名稱使用Newbe.Mahua.Plugins.Parrot。

修改插件基本信息

打開PluginInfo.cs文件,按照實際需求和注釋內容進行修改。

namespace Newbe.Mahua.Plugins.Parrot {/// <summary>/// 本插件的基本信息 /// </summary> public class PluginInfo : IPluginInfo { /// <summary> /// 版本號,建議采用 主版本.次版本.修訂號 的形式 /// </summary> public string Version { get; set; } = "1.0.0"; /// <summary> /// 插件名稱 /// </summary> public string Name { get; set; } = "嚶鵡學舌"; /// <summary> /// 作者名稱 /// </summary> public string Author { get; set; } = "Newbe"; /// <summary> /// 插件Id,用于唯一標識插件產品的Id,至少包含 AAA.BBB.CCC 三個部分 /// </summary> public string Id { get; set; } = "Newbe.Mahua.Plugins.Parrot"; /// <summary> /// 插件描述 /// </summary> public string Description { get; set; } = "嚶鵡學舌,是一個使用Mahua框架開發的第一個插件。該插件實現將好友的私聊消息回發給好友的功能。"; } }

添加”接收好友消息事件”代碼實現

在MahuaEvents處右鍵,選擇”添加->新建項”。

MahuaEvents文件夾是本SDK建議將事件放置的文件夾位置。也可以不接受建議而添加在其他地方。

如下圖所示,選擇”來自好友的私聊消息接收事件”。

在PrivateMessageFromFriendReceivedMahuaEvent.cs中,調用IMahuaApi,將好友消息回發給好友,實現嚶鵡學舌的效果。

using Newbe.Mahua.MahuaEvents; using System.Threading.Tasks; namespace Newbe.Mahua.Plugins.Parrot.MahuaEvents { /// <summary> /// 來自好友的私聊消息接收事件 /// </summary> public class PrivateMessageFromFriendReceivedMahuaEvent : IPrivateMessageFromFriendReceivedMahuaEvent { private readonly IMahuaApi _mahuaApi; public PrivateMessageFromFriendReceivedMahuaEvent( IMahuaApi mahuaApi) { _mahuaApi = mahuaApi; } public void ProcessFriendMessage(PrivateMessageFromFriendReceivedContext context) { // 戳一戳 _mahuaApi.SendPrivateMessage(context.FromQq) .Shake() .Done(); // 嚶嚶嚶,換行,重復消息 _mahuaApi.SendPrivateMessage(context.FromQq) .Text("嚶嚶嚶:") .Newline() .Text(context.Message) .Done(); // 異步發送消息,不能使用 _mahuaApi 實例,需要另外開啟Session Task.Factory.StartNew(() => { using (var robotSession = MahuaRobotManager.Instance.CreateSession()) { var api = robotSession.MahuaApi; api.SendPrivateMessage(context.FromQq, "異步的嚶嚶嚶"); } }); } } }

在模塊中注冊事件

打開MahuaModule.cs文件,在MahuaEventsModule中注冊剛剛添加的PrivateMessageFromFriendReceivedMahuaEvent。

using Autofac; using Newbe.Mahua.MahuaEvents; using Newbe.Mahua.Plugins.Parrot.MahuaEvents; namespace Newbe.Mahua.Plugins.Parrot { /// <summary> /// Ioc容器注冊 /// </summary> public class MahuaModule : IMahuaModule { public Module[] GetModules() { // 可以按照功能模塊進行劃分,此處可以改造為基于文件配置進行構造。實現模塊化編程。 return new Module[] { new PluginModule(), new MahuaEventsModule(), }; } /// <summary> /// 基本模塊 /// </summary> private class PluginModule : Module { protected override void Load(ContainerBuilder builder) { base.Load(builder); // 將實現類與接口的關系注入到Autofac的Ioc容器中。如果此處缺少注冊將無法啟動插件。 // 注意!!!PluginInfo是插件運行必須注冊的,其他內容則不是必要的!!! builder.RegisterType<PluginInfo>() .As<IPluginInfo>(); } } /// <summary> /// <see cref="IMahuaEvent"/> 事件處理模塊 /// </summary> private class MahuaEventsModule : Module { protected override void Load(ContainerBuilder builder) { base.Load(builder); // 將需要監聽的事件注冊,若缺少此注冊,則不會調用相關的實現類 builder.RegisterType<PrivateMessageFromFriendReceivedMahuaEvent>() .As<IPrivateMessageFromFriendReceivedMahuaEvent>(); } } } }

生成與打包

生成項目,然后雙擊位于項目根目錄的build.bat文件。

復制文件到機器人平臺

在bin目錄下會按照當前安裝的平臺生成相應的目錄。本示例將會生成CQP、Amanda和MPQ三個目錄。

分別將三個文件夾下的所有文件和文件夾都復制到對應的機器人平臺根目錄。

以CQP為例,進行一次復制過程如下圖所示:

各機器人軟件下載地址:

名稱地址
CQPhttps://cqp.cc/
MPQhttps://f.mypcqq.cc/thread-2327-1-1.html
CleverQQhttps://d.cleverqq.cn/forum.php
QQLighthttp://www.52chat.cc/

啟用插件

各個機器人平臺的啟用方式各不相同。

CQP

按照下圖所示,開啟開發者模式。

打開插件管理將插件啟用。

CleverQQ

打開插件管理將插件啟用。

MPQ

打開插件管理將插件啟用。

QQLight

打開插件管理將插件啟用。

成功!

發送消息給機器人,你就會收到機器人回發的信息。

機器人插件啟動可能需要一段時間,并且大多數平臺都會丟棄離線信息,可能需要等待一會兒在發送。

繼續了解

Newbe.Mahua 1.X 主要特性介紹與常見問題講解

教程鏈接

Newbe.Mahua 1.X 主要特性介紹與常見問題講解

Newbe.Mahua 插件熱更新

【開源訪談】對接 QQ 機器人平臺,對接共同成長的開源社區(開源中國采訪)

開始第一個QQ機器人【適用于v1.9-1.12】

Newbe.Mahua.Samples.ApiExtensions 對IMahuaApi進行擴展

Newbe.Mahua.Samples.LiveGirl 操作定時任務

Newbe.Mahua.Samples.Sqlite SQLite操作實例

Newbe.Mahua 測試與調試

Newbe.Mahua 擴展設置中心

發布說明

Newbe.Mahua 1.12 第一個LTS版本

Newbe.Mahua 1.11 支持熱更新

Newbe.Mahua 1.10 全新日志查看器

Newbe.Mahua 1.9 引入 Session

Newbe.Mahua 1.8 消息發送Fluent API

Newbe.Mahua 1.7.0 支持API擴展

Newbe.Mahua 1.6.0 開發便利性提升

轉載于:https://www.cnblogs.com/newbe36524/p/9704810.html

總結

以上是生活随笔為你收集整理的使用C# 开始第一个QQ机器人的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。