Graia简单使用

安装

配置好mirai后
python后端安装模块

pip install graia-application-mirai
pip install graia-broadcast

更新

pip install graia-application-mirai --upgrade
pip install graia-broadcast --upgrade
使用

官方文档
基本架构

from graia.broadcast import Broadcast
from graia.application import GraiaMiraiApplication, Session
from graia.application.message.chain import MessageChain
import asyncio

from graia.application.message.elements.internal import Plain,Image,Face,Quote,At,Source
from graia.application.friend import Friend
from graia.application.group import Group,Membe

loop = asyncio.get_event_loop()

bcc = Broadcast(loop=loop)
app = GraiaMiraiApplication(
    broadcast=bcc,
    connect_info=Session(
        host="http://localhost:8080", # 填入 httpapi 服务运行的地址
        authKey="graia-mirai-api-http-authkey", # 填入 authKey
        account=5234120587, # 你的机器人的 qq 号
        websocket=True # Graia 已经可以根据所配置的消息接收的方式来保证消息接收部分的正常运作.
    )
)

@bcc.receiver("FriendMessage")
async def friend_message_listener(app: GraiaMiraiApplication, friend: Friend, message: MessageChain):

    await app.sendFriendMessage(friend, MessageChain.join(MessageChain.create([Plain('get message:')]), message.asSendable())  
# asSendable 方法将MessageChain对象转为可发送的状态
# join方法将两个MessageChain对象连接起来
@bcc.receiver("GroupMessage")
async def groupMessage(app: GraiaMiraiApplication, group: Group, member: Member, message: MessageChain):
	text = message[Plain]  # 返回一个列表
	if text:
	text = text[0].text

@bcc.receiver('TempMessage')
async def TempMessage(app: GraiaMiraiApplication, group: Group, member: Member, message: MessageChain):
   await app.sendTempMessage(group,member,MessageChain.join(MessageChain.create([Plain('get message:')]), message.asSendable())

app.launch_blocking()
获取MessageChain中的文字
@bcc.receiver("FriendMessage")
async def friend_message_listener(app: GraiaMiraiApplication, friend: Friend, message: MessageChain):
	text = message[Plain]  # 返回一个列表
	if text:
	text = text[0].text

	# 或使用 message.asDisplay() 将消息转为字符
     
将消息链转为字符,将字符转为消息链
@bcc.receiver("GroupMessage")
async def groupMessage(app: GraiaMiraiApplication, group: Group, member: Member, message: MessageChain):
	message_str = message.asSerializationString()  # 将MessageChain对象序列化
	message = MessageChain.fromSerializationString(message_str) # 将字符消息反序列化
在消息中添加At某人
from graia.application.message.elements.internal import Plain,Image,Face,Quote,At,Source

@bcc.receiver("GroupMessage")
async def groupMessage(app: GraiaMiraiApplication, group: Group, member: Member, message: MessageChain):
	app.sendGroupMessage(group, MessageChain.create([Plain('xxx'), At(111111111)]))
基于Python的一个使用GraiaAriadne搭建的QQ功能性机器人.zip ABot 现在能干什么 菜单以及功能介绍 群名片修正 [被他人修改后自动触发] and 私聊群名片修正 微软文字转语音 兽语转换 小鸡词典查梗 小鸡词典文字转 emoji 汉语词典查询 点歌姬(支持 [QQ 音乐 / 网易云音乐] 以语音形式发送歌曲) 网络黑话(缩写)翻译(字母缩写,如 awsl 等) 词云生成 我的世界服务器 Motd Ping 摸头 gif 生成 涩图 风格化 logo 生成 复读姬 有点涩的词库?( 废物证申请 废物证申请 禁言套餐(如果 ABot 是管理员的情况下) 防撤回(支持内容审核,检测是否为违禁内容) 色图(随机生成色图 gif) 娱乐功能 简单的经济系统 增加游戏币 私聊充值 <qq> <数量> 所有人增加游戏币 私聊全员充值 <数量> 赠送游戏币 签到 查询当日签到率 私聊签到率查询 你画我猜 奖券 排行榜(可查看游戏币榜和发言榜)查看排行榜 (待开发中) 简易骰娘(可设置数量、面数、取最大前 n 个) 简单的作息系统(每日 0 点至 7 点半将自动关闭大部分功能)休息 and 工作 BiliBili 视频解析 听歌识曲(识别语音形式的原曲或哼唱歌曲) 白名单系统(将拒绝退出白名单外的群)私信添加白名单 <group> 取消白名单 <group> 淫文翻译机 背单词 全局黑名单控制 消息量统计 查看消息量统计 BiliBili 动态/直播 订阅推送 性能统计 查看性能统计 随机人设 以图搜图 / 以图搜番 查战绩 彩虹六号:围攻 (待开发中) 明日方舟蹲饼 低多边形图片生成 计算器(? 漂流瓶 明日方舟猜干员 定时提醒 明日方舟公招计算器 赛马 公共画板 一眼丁真 亿些杂七杂八没整理的小功能 ABot 事件提醒 ABot 被禁言后自动退群 撤回群消息 [回复]1
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值