前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >开源 – QQ频道机器人

开源 – QQ频道机器人

作者头像
Blank.
发布2023-04-13 08:45:55
1.1K0
发布2023-04-13 08:45:55
举报
文章被收录于专栏:Blank

开源简介

QQ频道是一个集社交、群聊、小程序应用于一体的娱乐协作平台,它允许开发者自己开发自己的机器人,但是很多小白可能入手都比较头疼,不知道该如何下手,今天分享一个自己用python写的 示例 ,使用的数据库依旧是mysql ::(懒得理)

转载请注明出处

官方开发文档: 点击查看 所需工具: pycharm navaicat mysql

下载地址

https://wwkm.lanzouf.com/iWZ7q0p4ffyj

les7pjlt.png
les7pjlt.png

文件概述

  • data 为后续的一些机器人数据存放目录如图片等
  • intens 为机器人的事件处理文件,在此处编写和添加需要的功能即可
  • module 为自己一些常用模块的存放
  • mysql 放的则是mysql的读写模块
  • config.py 为机器人配置,如数据库账号密码等
  • main.py 则为启动文件,订阅事件和事件分发
les6o539.png
les6o539.png

使用教程

打开navaicat新建一个数据库,(名字随意)

les71044.png
les71044.png

在新建的数据库下执行以下sql语句创建两张表

pd_user 存放用户数据

root_data 存放机器人的账号密码

lesb8oi4.png
lesb8oi4.png
lesb99tk.png
lesb99tk.png

{collapse} {collapse-item label=”点击展开sql语句” close}

代码语言:javascript
复制
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for root_data
-- ----------------------------
DROP TABLE IF EXISTS `root_data`;
CREATE TABLE `root_data`  (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `bot_id` int(11) NOT NULL,
  `bot_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = COMPACT;

SET FOREIGN_KEY_CHECKS = 1;
代码语言:javascript
复制
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for pd_user
-- ----------------------------
DROP TABLE IF EXISTS `pd_user`;
CREATE TABLE `pd_user`  (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID',
  `pd_id` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '0' COMMENT '频道_频道ID',
  `pd_name` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '0' COMMENT '频道_频道昵称',
  `time_user` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '0' COMMENT '时间_用户创建时间',
  `time_data` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '0' COMMENT '时间_数据更新时间',
  `fy` int(11) NULL DEFAULT 0 COMMENT '发言_累计发言',
  `fy_today` int(11) NULL DEFAULT 0 COMMENT '发言_今日发言',
  `fy_time` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '0' COMMENT '发言_数据更新时间',
  `jf` int(11) NULL DEFAULT 0 COMMENT '积分_累计积分',
  `jf_today` int(11) NULL DEFAULT 0 COMMENT '积分_今日累计积分',
  `jf_today_` int(11) NULL DEFAULT 0 COMMENT '积分_今日发言积分',
  `jf_time` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '0' COMMENT '积分_数据更新时间',
  PRIMARY KEY (`id`) USING BTREE,
  UNIQUE INDEX `idx_pd_id`(`pd_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 20 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = COMPACT;

SET FOREIGN_KEY_CHECKS = 1;

{/collapse-item} {/collapse}

接下来在root_data表中将机器人id和key填写上去,这个1就是config配置的启动机器人id,你要新增用户数据就在pd_user这张表新增你需要的字段就好了,新增后记得在文件mysql/user.py也进行相应的配置

les78x5r.png
les78x5r.png
les777j4.png
les777j4.png

这样的话数据库就配置好了

然后我们使用pycharm导入我们的开源项目文件,点开config.py配置文件,将数据库的账号密码等填写上去即可,然后点开main.py运行看看能不能正常运行即可,如果没问题就可以开始在 intents/intent.py 内编写你所需的功能啦

文件讲解

1.main.py 运行文件,用于链接数据库和事件分发,但是注意如果你的机器人是公域请将这个全部消息事件订阅去除,需要新增事件订阅都在此处新增即可

les68dva.png
les68dva.png

2.mysql/user.py目录 用户配置文件,如果你想要新增用户的配置可以在此处新增,然后在updata里和数据库里也新增好就可以了

les6v5se.png
les6v5se.png

3.intens/inten.py 这里就是所有事件消息的处理了,你可以在此处编写你需要新增的功能指令等,我也写了部分示例在里面

les6gwe3.png
les6gwe3.png
les6hz72.png
les6hz72.png
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 开源简介
  • 下载地址
  • 文件概述
  • 使用教程
  • 文件讲解
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档