qqbot不能用后,我还是能用python 实现qq机器人转发重要群的信息!

上篇文章我已经介绍了coolq机器人,接下来我就直接上一些链接和我使用遇到的一些问题

API配置文档  看到懂就直接看API,需要改一些参数,在你运行一次酷Q后 会自动生成一些文件,在

CQP-xiaoi\酷Q Pro\data\app\io.github.richardchien.coolqhttpapi\config  前提是你已经安转好了插件

找到你的QQ号的json文件 

复制下面的替换,有个网址和你python代码的网址和端口要一致。然后再运行就可以使用了。

{
    "host": "[::]",
    "port": 5700,
    "use_http": true,
    "ws_host": "[::]",
    "ws_port": 6700,
    "use_ws": false,
    "ws_reverse_url": "",
    "ws_reverse_api_url": "ws://127.0.0.1:8080/ws/api/",
    "ws_reverse_event_url": "ws://127.0.0.1:8080/ws/event/",
    "ws_reverse_reconnect_interval": 3000,
    "ws_reverse_reconnect_on_code_1000": true,
    "use_ws_reverse": true,
    "post_url": "",
    "access_token": "",
    "secret": "",
    "post_message_format": "string",
    "serve_data_files": false,
    "update_source": "github",
    "update_channel": "stable",
    "auto_check_update": false,
    "auto_perform_update": false,
    "show_log_console": false,
    "log_level": "info"
}

然后我说一些坑吧:

第一个:注意air和pro版的区别。注意看官网信息,air不能发图片,发语音。代码不会报错。但是你即使发不了(卡了我1个小时,才发现没充钱....)

第二个:CQ码,必踩的坑。需要转化为相应的格式!慢慢百度吧......

第三个:是怎么在群里当别人没@你的时候,我给出一种解决办法:修改一个地方的参数,我发现有些信息,会忽视,因为不是at me 所以我如果把信息都改为假的at me 不就好了么。

下面是解决办法

在\Lib\site-packages\nonebot 找到message.py 这个文件,打开,找到

def _check_at_me(bot: NoneBot, ctx: Context_T) -> None: 
这个方法就是判断是否是@机器人  我们在最后面加上
ctx['to_me'] = True  # 这里  默认设置所有的都和我有关

然后你就会发现所有的信息都会处理了,问题也来了。怎么过滤掉没用的信息(我想的办法就是设置权限,判断信息来源,然后是否发送信息,新手怕挨骂,自己加了好多本地文件......,用来读取数据),自己琢磨吧

 第四个:怎么对加好友处理呢,虽然api上面有,但是我怎么接受和判断那个消息呢(我 一直没看懂源代码........)

解决办法:

还是搜索源文件,然后修改!写了几天这个机器人代码了,类比的猜测on_request,就是对加好友请求判断。

然后测试一下
 

@on_request
async def add_friend(session: RequestSession):
    message = session.ctx['comment']  # 回答的问题
    flag = session.ctx['flag']   # 获得flag 用于同意加好友
    user_id = session.ctx['user_id']  # 加我好友的QQ号
    t = time.strftime("%m-%d", time.localtime(time.time()))
    message = str(message).replace('问题一:您找我有什么事吗?\n回答:', '')
    print(message)
    print('回答的问题:'+str(message))  # 注意数据清洗
    remark = str(t) + str(message)
    await session.bot.set_friend_add_request(flag=flag, approve=True, remark=remark)
    try:
        message = '初学者_ym很高兴为你服务:不好意思,主人暂时不在线。有急事请拨打电话。' \
                  '如果需要紧急联系请输入:emergency'
        await session.bot.send_private_msg(user_id=user_id, message=message)
    except:
        await session.bot.send_private_msg(user_id=qq, message="QQ:"+str(user_id)+" 同意加好友失败\n"+str(remark))  # 反馈信息
 

然后发现可以!nice~

然后再结合爬虫实现一些好玩的功能(我主要是因为没空转发群里的信息,然后手机还坏了......)

下面是我已经实现的功能:.

"群聊命令:\n"
                   "点赞命令:赞、赞我\n"
                   "看新闻命令:新闻、我要看新闻\n"
                   "天气查询:天气、天气预报、查天气\n"
                   "看帅哥、美女、动漫、流鼻涕、秀肌肉、收钱\n"
                   "课表查询:课表、看课表、今天上什么课?、今天上什么课\n"
                   "添加某人进群黑名单:badman @某某\n"
                   "清理群黑名单:clear_badman\n"
                   "添加某人进管理员:add_admin @某某\n"
                   "初始化管理员:clear_admin\n"
                   "切换模式:切换模式、'exchange、关闭聊天、别吵\n"
                   "屏蔽某人私聊:关闭私聊、有脾气了 +qq号码\n"
                   "清空私聊屏蔽:clear屏蔽、清空屏蔽、clear 屏蔽\n"

有兴趣的可以找我。

  • 7
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
注意:此框架现已基本稳定,文档会尽快完善。 该分支使用二维码登陆的协议参考了原名:SmartQQ-for-Raspberry-Pi(PiWebQQV2)这一项目,自行整合开发了基于SmartQQ的自动机器人框架。 登陆时采用QQ安全中心的二维码做为登陆条件, 不需要在程序里输入QQ号码及QQ密码。 旧版机器人仍有保留在old_QQBot.py中。 基本功能 聊功能: 注:以下命令皆是在qq中发送,聊命令发送到所在聊吐槽功能(tucao),类似于小黄鸡,在中通过发送!learn {ha}{哈哈}语句,则机器人检测到发言中包含“ha”时将自动回复“哈哈”。!delete {ha}{哈哈}可以删除该内容。吐槽内容本地保存在data/tucao_save/中。 聊复读功能(repeat),检测到聊中连续两个回复内容相同,将自动复读该内容1次。 聊关注功能(follow),使用命令!follow qq号可以使机器人复读此人所有发言(除命令外)使用命令!unfollow qq号解除关注。qq号处可使用"me"来快速关注与解除关注自己,例:!follow me 聊唤出功能(callout),聊中检测关键词智障机器人,若发言中包含该词,将自动回复干嘛(‘·д·),此功能一般用于检测机器人状态与调戏 聊命令功能(command_0arg/command_1arg):使用![命令名]格式或![命令名] {参数1}执行命令,命令“吐槽列表”,使用命令!吐槽列表在聊中激活,列出当前的吐槽列表。 !删除关键字 {blablabla}:删除关键字“blablabla”下的所有吐槽内容 !吐槽列表:列出当前的吐槽列表 现有无参数命令: 现有单参数命令: 私聊功能: 私聊唤出功能(callout),私聊中检测关键词智障机器人,若发言中包含该词,将自动回复干嘛(‘·д·),此功能一般用于检测机器人状态与调戏 私聊复读功能(repeat),检测到私聊中连续两个回复内容相同,将自动复读该内容1次。 临时对话功能: 唤出功能(callout),具体同私聊与聊。   标签:smartqq  smartqqbot
### 回答1: 你可以使用 Python 的 QQ 机器人框架,比如 SmartQQBot 或者 QQBot,来制作 QQ 机器人。这些框架可以通过 QQ 的 Web 接口或者协议来实现机器人的功能,比如自动回复、发消息、定时任务等。你可以先学习 Python 的基础语法和网络编程知识,然后再开始制作 QQ 机器人。 ### 回答2: 要使用Python制作QQ机器人,可以借助QQ机器人开放平台提供的API和Python编程语言的功能: 首先,需要在QQ机器人开放平台上注册一个开发者账号,并创建一个机器人应用。获取到应用的App ID和App Key。 然后,使用Python中的requests库,通过发送HTTP请求来连接QQ机器人开放平台的API。可以使用requests库中的get或post方法发送GET或POST请求,并将API提供的URL和参数添加到请求中。 根据开放平台提供的API文档,了解各个接口的功能和参数。例如,可以使用send_private_msg接口给指定的用户发送私聊消息,使用send_group_msg接口给指定的发送消息。 使用Python编程语言的字符串处理功能,来处理接收到的消息文本内容。可以使用Python的字符串方法来分析和提取关键信息,如指令、关键词等。 根据接收到的消息内容和关键信息,编写相应的逻辑处理代码。可以使用Python的条件语句、循环语句等来控制机器人的行为。例如,当接收到指定指令时,执行相应的操作,并将结果返回给用户。 为了增加机器人的智能化,可以使用Python的自然语言处理库,如jieba分词库、SnowNLP情感分析库等,对接收到的文本进行分词、情感分析等处理,来更好地理解用户的意图和情感。 最后,可以使用Python的GUI库,如Tkinter、PyQt等,制作一个用户界面,方便用户和机器人的交互。用户可以通过界面的输入框发送消息给机器人,并在界面上显示机器人的回复。 总之,通过结合QQ机器人开放平台的API和Python编程语言的功能,可以制作一个功能强大的QQ机器人,能够根据用户的指令和消息内容做出相应的回复和操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值