Skip to content

Commit

Permalink
fix(plugins/moli4qqchannelplugin/): 无响应
Browse files Browse the repository at this point in the history
  • Loading branch information
yiyungent committed Jan 29, 2023
1 parent 41ac650 commit cec20a8
Show file tree
Hide file tree
Showing 3 changed files with 50 additions and 6 deletions.
51 changes: 47 additions & 4 deletions plugins/MoLi4QQChannelPlugin/MoLi4QQChannelPlugin.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
using QQChannelPlugin.IPlugins;
using QQChannelFramework.Models.MessageModels;
using QQChannelFramework.Api;
using System.Text.RegularExpressions;

namespace MoLi4QQChannelPlugin
{
Expand Down Expand Up @@ -47,12 +48,33 @@ public void ReceivedAtMessage(string botAppId, Message message, QQChannelApi qCh
SettingsModel settingsModel = PluginCore.PluginSettingsModelFactory.Create<SettingsModel>(nameof(MoLi4QQChannelPlugin));
Console.WriteLine($"茉莉: 来自: {message.ChannelId}-{message.Author.UserName}");

string text = message.Content;

#region 去除 @
try
{
// 在吗 <@!13214513123523> 你还好吗 <@!131245451434>
// 去除 @ 字符
//string text = message.Content.Replace($"<@!{qChannelApi.GetUserApi().GetCurrentUserAsync().Result.Id}>", "");
Regex atRegex = new Regex(@"<@\![0-9]*>");
//var atMatches = atRegex.Matches(message.Content);
text = atRegex.Replace(message.Content, "");
}
catch (Exception ex)
{ }
#endregion

// 排除启用前缀且不满足前缀
if (!string.IsNullOrEmpty(settingsModel.Prefix) && !text.Trim().StartsWith(settingsModel.Prefix))
{
return;
}

Console.WriteLine("茉莉准备回复: ");
MoLiApiResponseModel resModel = new MoLiApiResponseModel();
try
{
// 去除 @机器人 字符
string text = message.Content.Replace($"<@!{qChannelApi.GetUserApi().GetCurrentUserAsync().Result.Id}>", "");

resModel = Utils.MoLiApiUtil.Reply(new MoLiApiRequestModel
{
content = text,
Expand Down Expand Up @@ -86,18 +108,40 @@ public void ReceivedDirectMessage(string botAppId, Message message, QQChannelApi
// 私信
}

/// <summary>
/// 无 @
/// </summary>
/// <param name="botAppId"></param>
/// <param name="message"></param>
/// <param name="qChannelApi"></param>
public void ReceivedUserMessage(string botAppId, Message message, QQChannelApi qChannelApi)
{
SettingsModel settingsModel = PluginCore.PluginSettingsModelFactory.Create<SettingsModel>(nameof(MoLi4QQChannelPlugin));
Console.WriteLine($"茉莉: 来自: {message.ChannelId}-{message.Author.UserName}");

string text = message.Content;

#region 去除 @
try
{
// 在吗 <@!13214513123523> 你还好吗 <@!131245451434>
// 去除 @ 字符
//string text = message.Content.Replace($"<@!{qChannelApi.GetUserApi().GetCurrentUserAsync().Result.Id}>", "");
Regex atRegex = new Regex(@"<@\![0-9]*>");
//var atMatches = atRegex.Matches(message.Content);
text = atRegex.Replace(message.Content, "");
}
catch (Exception ex)
{ }
#endregion

// 排除 at
if (settingsModel.AtEnable)
{
return;
}
// 排除启用前缀且不满足前缀
if (!string.IsNullOrEmpty(settingsModel.Prefix) && !message.Content.Trim().StartsWith(settingsModel.Prefix))
if (!string.IsNullOrEmpty(settingsModel.Prefix) && !text.Trim().StartsWith(settingsModel.Prefix))
{
return;
}
Expand All @@ -106,7 +150,6 @@ public void ReceivedUserMessage(string botAppId, Message message, QQChannelApi q
MoLiApiResponseModel resModel = new MoLiApiResponseModel();
try
{
string text = message.Content;
resModel = Utils.MoLiApiUtil.Reply(new MoLiApiRequestModel
{
content = text,
Expand Down
3 changes: 2 additions & 1 deletion plugins/MoLi4QQChannelPlugin/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@
> `"Prefix": ""` 聊天前缀, 例如设置为 `"#"`, 则发送消息时,前面必须带 `#`, 机器人才会回复
> 注意: 仅公域机器人才可用 `Prefix` 聊天前缀方式, 私域 只能通过 @机器人

> 注意: 仅 `私域` 机器人才可用 `Prefix` 聊天前缀方式, `公域` 只能通过 @机器人
## 前端视图

Expand Down
2 changes: 1 addition & 1 deletion plugins/MoLi4QQChannelPlugin/info.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@
"DisplayName": "茉莉频道机器人",
"Description": "对接 茉莉 API",
"Author": "yiyun",
"Version": "0.1.0",
"Version": "0.1.1",
"SupportedVersions": [ "0.0.1" ]
}

0 comments on commit cec20a8

Please sign in to comment.