Files
LangBot/tests/qq_offcial_api/channel_client.py
2024-02-01 18:11:47 +08:00

88 lines
3.0 KiB
Python

import re
import botpy
from botpy.message import Message, DirectMessage
import openai
import datetime
openai_client = openai.Client()
intents = botpy.Intents(
public_guild_messages=True,
direct_message=True,
)
client = botpy.Client(intents=intents)
def wrapper(func):
async def fn(*args, **kwargs):
return await func(client, *args, **kwargs)
return fn
print(int('11374654729765438030'))
@wrapper
async def on_at_message_create(self, message: Message):
# await self.api.post_message(channel_id=message.channel_id, content=openai_client.chat.completions.create(
# model="gpt-3.5-turbo",
# messages=[
# {
# "role": "user",
# "content": message.content
# }
# ]
# ).choices[0].message.content)
print(self)
print(message.content)
# 删除消息中:<@!12345678> 这样的内容
message.content = re.sub(r"<@!\d+>", "", message.content)
print(message.content)
# image_url = openai_client.images.generate(
# model="dall-e-3",
# prompt=message.content,
# size="1024x1024",
# quality="standard",
# n=1,
# ).data[0].url
# print(image_url)
print(message.member.roles)
# 2022-06-04T22:56:51+08:00
time_str = message.member.joined_at
date_obj = datetime.datetime.strptime(time_str, "%Y-%m-%dT%H:%M:%S%z")
print(date_obj.timestamp())
print(f"message.channel_id: {message.channel_id}, message.id: {message.id}, message.content: {message.content}, message.author: {message.author}, message.attachments: {message.attachments}")
print(message.mentions)
await self.api.post_message(
channel_id=message.channel_id,
msg_id=message.id,
image="https://gchat.qpic.cn/download?appid=1407&fileid=CgoxMDEwNTUzODkyEhS7rtLyruPu6lyTBvTjQwZul5vuERjx-wEg_woo6oKkscHDggNQgL2jAQ&rkey=CAMSMEpZEUuWzKJ8k5PQaayVPrGr_qQ1zF89b65iW_h_w-HlQvPmNfEeCLBaR3Mhtt1FTA&spec=0",
# content=message.content
)
print(message.channel_id, message.id)
print(type(message.channel_id), type(message.id))
await self.api.post_message(
channel_id=message.channel_id,
msg_id=message.id,
image="https://gchat.qpic.cn/download?appid=1407&fileid=CgoxMDEwNTUzODkyEhS7rtLyruPu6lyTBvTjQwZul5vuERjx-wEg_woo6oKkscHDggNQgL2jAQ&rkey=CAMSMEpZEUuWzKJ8k5PQaayVPrGr_qQ1zF89b65iW_h_w-HlQvPmNfEeCLBaR3Mhtt1FTA&spec=0",
# content=message.content
)
@wrapper
async def on_direct_message_create(self, message: DirectMessage):
print(f"message.channel_id: {message.channel_id}, message.id: {message.id}, message.content: {message.content}, message.author: {message.author}, message.attachments: {message.attachments}")
await self.api.post_dms(guild_id=message.guild_id, content="hi")
setattr(client, "on_at_message_create", on_at_message_create)
setattr(client, "on_direct_message_create", on_direct_message_create)
client.run(appid="102076866", token="jwn1C2V1S9q3PBHoSLKfA7pKzKVyWzkm")