NoneBot2插件——进群欢迎

这篇博客介绍了如何使用NoneBot框架编写一个QQ群的事件响应器,包括当群成员加入和离开时自动发送欢迎或告别消息的功能。通过监听`GroupIncreaseNoticeEvent`和`GroupDecreaseNoticeEvent`事件,实现了对群成员增减的实时响应,并且可以自定义消息内容。此脚本适用于自动化管理QQ群的场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考:https://v2.nonebot.dev/api/plugin.html

  • GroupDecreaseNoticeEvent:群成员减少事件
  • GroupIncreaseNoticeEvent:群成员增加事件
  • GroupMessageEvent:群消息(通过该类的属性获取到 群QQ号)
  • finish()函数:发送一条消息给当前交互用户并结束当前事件响应器

在这里插入图片描述

__init__.py 文件 在该文件中编写各类事件响应及处理逻辑
from nonebot import on_command, export
from nonebot.typing import T_State
from nonebot.adapters.cqhttp import Bot, Message, GroupMessageEvent, GroupDecreaseNoticeEvent, GroupIncreaseNoticeEvent
from nonebot import on_notice

export = export()
export.name = '进群欢迎'
export.usage = '欢迎新人'

welcom = on_notice()

# 群友入群
@welcom.handle()  # 监听 welcom
async def h_r(bot: Bot, event: GroupIncreaseNoticeEvent, state: T_State):  # event: GroupIncreaseNoticeEvent  群成员增加事件
    user = event.get_user_id()  # 获取新成员的id
    at_ = "本群通过祈愿召唤了勇者大人:[CQ:at,qq={}]".format(user)
    msg = at_ + '欢迎勇者大人:\n 您就是被命运召唤而来前来拯救我们的公会的勇者吗,快救救孩子们吧,希望勇者大人为我们而战!'
    msg = Message(msg)
    print(at_)
    if event.group_id == QQ群号:
        await welcom.finish(message=Message(f'{msg}'))  # 发送消息

# 群友退群
@welcom.handle()
async def h_r(bot: Bot, event: GroupDecreaseNoticeEvent, state: T_State):  # event: GroupDecreaseNoticeEvent  群成员减少事件
    user = event.get_user_id()  # 获取新成员的id
    at_ = "[CQ:at,qq={}]".format(user)
    msg = at_ + '勇士离开了本群,大家快出来送别它吧!'
    msg = Message(msg)
    print(at_)

    if event.group_id == QQ群号:
        await welcom.finish(message=Message(f'{msg}'))  # 发送消息

存放在 plugins 目录下:
在这里插入图片描述
启动项目会自动加载 编写好的插件,插件目录一定要有 __init__.py文件
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值