mirror of
https://github.com/langbot-app/LangBot.git
synced 2026-06-02 03:55:55 +00:00
feat: 使用WSAdapter作为yirimirai默认适配器
This commit is contained in:
@@ -9,7 +9,7 @@ import logging
|
|||||||
# verifyKey: mirai-api-http的verifyKey
|
# verifyKey: mirai-api-http的verifyKey
|
||||||
# qq: 机器人的QQ号
|
# qq: 机器人的QQ号
|
||||||
mirai_http_api_config = {
|
mirai_http_api_config = {
|
||||||
"adapter": "HTTPAdapter",
|
"adapter": "WebSocketAdapter",
|
||||||
"host": "localhost",
|
"host": "localhost",
|
||||||
"port": 8080,
|
"port": 8080,
|
||||||
"verifyKey": "yirimirai",
|
"verifyKey": "yirimirai",
|
||||||
|
|||||||
@@ -4,7 +4,8 @@ import os
|
|||||||
import threading
|
import threading
|
||||||
|
|
||||||
import openai.error
|
import openai.error
|
||||||
from mirai import At, GroupMessage, MessageEvent, Mirai, Plain, StrangerMessage, WebSocketAdapter,HTTPAdapter, FriendMessage, Image
|
from mirai import At, GroupMessage, MessageEvent, Mirai, Plain, StrangerMessage, WebSocketAdapter, HTTPAdapter, \
|
||||||
|
FriendMessage, Image
|
||||||
|
|
||||||
import config
|
import config
|
||||||
import pkg.openai.session
|
import pkg.openai.session
|
||||||
@@ -73,24 +74,24 @@ class QQBotManager:
|
|||||||
else:
|
else:
|
||||||
self.reply_filter = pkg.qqbot.filter.ReplyFilter([])
|
self.reply_filter = pkg.qqbot.filter.ReplyFilter([])
|
||||||
|
|
||||||
if mirai_http_api_config['adapter'] == "WebSocketAdapter":
|
if 'adapter' not in mirai_http_api_config or mirai_http_api_config['adapter'] == "WebSocketAdapter":
|
||||||
bot = Mirai(
|
bot = Mirai(
|
||||||
qq=mirai_http_api_config['qq'],
|
qq=mirai_http_api_config['qq'],
|
||||||
adapter=WebSocketAdapter(
|
adapter=WebSocketAdapter(
|
||||||
verify_key=mirai_http_api_config['verifyKey'],
|
verify_key=mirai_http_api_config['verifyKey'],
|
||||||
host=mirai_http_api_config['host'],
|
host=mirai_http_api_config['host'],
|
||||||
port=mirai_http_api_config['port']
|
port=mirai_http_api_config['port']
|
||||||
|
)
|
||||||
)
|
)
|
||||||
)
|
|
||||||
elif mirai_http_api_config['adapter'] == "HTTPAdapter":
|
elif mirai_http_api_config['adapter'] == "HTTPAdapter":
|
||||||
bot = Mirai(
|
bot = Mirai(
|
||||||
qq=mirai_http_api_config['qq'],
|
qq=mirai_http_api_config['qq'],
|
||||||
adapter=HTTPAdapter(
|
adapter=HTTPAdapter(
|
||||||
verify_key=mirai_http_api_config['verifyKey'],
|
verify_key=mirai_http_api_config['verifyKey'],
|
||||||
host=mirai_http_api_config['host'],
|
host=mirai_http_api_config['host'],
|
||||||
port=mirai_http_api_config['port']
|
port=mirai_http_api_config['port']
|
||||||
|
)
|
||||||
)
|
)
|
||||||
)
|
|
||||||
|
|
||||||
@bot.on(FriendMessage)
|
@bot.on(FriendMessage)
|
||||||
async def on_friend_message(event: FriendMessage):
|
async def on_friend_message(event: FriendMessage):
|
||||||
@@ -201,13 +202,19 @@ class QQBotManager:
|
|||||||
reply += ",当前处于全新会话或不在此页"
|
reply += ",当前处于全新会话或不在此页"
|
||||||
elif cmd == 'usage':
|
elif cmd == 'usage':
|
||||||
api_keys = pkg.openai.manager.get_inst().key_mgr.api_key
|
api_keys = pkg.openai.manager.get_inst().key_mgr.api_key
|
||||||
reply = "[bot]api-key使用情况:(阈值:{})\n\n".format(pkg.openai.manager.get_inst().key_mgr.api_key_usage_threshold)
|
reply = "[bot]api-key使用情况:(阈值:{})\n\n".format(
|
||||||
|
pkg.openai.manager.get_inst().key_mgr.api_key_usage_threshold)
|
||||||
|
|
||||||
using_key_name = ""
|
using_key_name = ""
|
||||||
for api_key in api_keys:
|
for api_key in api_keys:
|
||||||
reply += "{}:\n - {}字 {}%\n".format(api_key,
|
reply += "{}:\n - {}字 {}%\n".format(api_key,
|
||||||
pkg.openai.manager.get_inst().key_mgr.get_usage(api_keys[api_key]),
|
pkg.openai.manager.get_inst().key_mgr.get_usage(
|
||||||
round(pkg.openai.manager.get_inst().key_mgr.get_usage(api_keys[api_key]) / pkg.openai.manager.get_inst().key_mgr.api_key_usage_threshold * 100, 3))
|
api_keys[api_key]),
|
||||||
|
round(
|
||||||
|
pkg.openai.manager.get_inst().key_mgr.get_usage(
|
||||||
|
api_keys[
|
||||||
|
api_key]) / pkg.openai.manager.get_inst().key_mgr.api_key_usage_threshold * 100,
|
||||||
|
3))
|
||||||
if api_keys[api_key] == pkg.openai.manager.get_inst().key_mgr.using_key:
|
if api_keys[api_key] == pkg.openai.manager.get_inst().key_mgr.using_key:
|
||||||
using_key_name = api_key
|
using_key_name = api_key
|
||||||
reply += "\n当前使用:{}".format(using_key_name)
|
reply += "\n当前使用:{}".format(using_key_name)
|
||||||
@@ -299,7 +306,7 @@ class QQBotManager:
|
|||||||
|
|
||||||
reply = ''
|
reply = ''
|
||||||
|
|
||||||
def process(text = None) -> str:
|
def process(text=None) -> str:
|
||||||
replys = ""
|
replys = ""
|
||||||
if At(self.bot.qq) in event.message_chain:
|
if At(self.bot.qq) in event.message_chain:
|
||||||
event.message_chain.remove(At(self.bot.qq))
|
event.message_chain.remove(At(self.bot.qq))
|
||||||
|
|||||||
Reference in New Issue
Block a user