跳到主要内容

一次性任务

有些时候,我们只希望执行"一下"操作,然后就退出,要怎么实现呢?

执行“一下”操作,那么就不用监听事件了,所以我们并不需要定义handler,但是我们要执行操作,也就是说,我们要调用 API,那么,对应协议端adapter还是要配置的,对应的协议端也是要启动的

adapter的配置,见此处

默认情况下,PepperBot 会持续监听事件,是因为我们调用了

bot.run()

方法,所以,如果我们只想跑一次的话,只要配置了 adapter,然后 asyncio.run()一下我们定义的任务即可

import asyncio

from pepperbot import PepperBot
from pepperbot.core.bot.universal import ArbitraryApi
from pepperbot.core.message.segment import Text

bot = PepperBot(
port=53521,
debug=True,
)

bot.register_adapter(
bot_protocol="onebot",
receive_protocol="websocket",
backend_protocol="http",
backend_host="127.0.0.1",
backend_port=5700,
)
# bot.register_adapter(
# bot_protocol="keaimao",
# receive_protocol="http",
# backend_protocol="http",
# backend_host="192.168.0.109",
# backend_port=8090,
# )

api = ArbitraryApi


async def main():
await api.onebot.group_message("1041902989", Text("消息测试"))


asyncio.run(main())