# Colya
**Repository Path**: YSASM/Colya
## Basic Information
- **Project Name**: Colya
- **Description**: ColyaBot......................
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 1
- **Forks**: 0
- **Created**: 2023-10-13
- **Last Updated**: 2023-10-18
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
Colya BOT
v0.1.0
***
## 安装:
```
git clone https://gitee.com/YSASM/Colya.git
```
## 配置:
* 运行setup.py或者直接把Colya放进bot的主目录
* 创建bot主目录,编写一个启动文件
```
bot-
|-main.py
|-Colya
```
```
main.py
from Colya.bot import Bot
bot = Bot()
bot.run()
```
* 然后运行main.py,就会将整个文件目录创建好
```
bot-
|-main.py
|-Colya
|-log--bot.log
|-plugin
|-console.bat
|-console.sh
```
* 然后填写config.json文件,填写token即可
```
{
"host": "127.0.0.1",
"port": "5500",
"token": "",
//心跳间隔
"heart_beat_cd": 60,
//历史session过期事件(秒)
"session_exp_ts":3600,
"console_service":True//是否开启console服务端
}
```
* 执行console.bat或console.sh需要先设置http_service为True并且确认已经安装了nodejs环境,服务器端请开启7796端口和8080端口
* 由于技术原因未实现config配置console端口,如需变更端口,自行修改代码或者使用nginx等工具
## 编写插件
* 在plugin文件夹中创建你的插件目录,在插件目录下创建config.json和main.py
plugin下每个文件夹为一个插件
```
bot-
|-main.py
|-Colya
|-log--bot.log
|-plugin-|-newPlugin-|-main.py
| |-config.json
|
|-newPlugin2-|-main.py
|-config.json
```
* 编写config.json(没有config.json时所有参数均为默认值)
```
示例
{
"name":"newPlugin",//插件名称(目前没用)
"version":"0.1",//插件版本(目前没用)
"type":"event",//插件类型(event,setup,task)msg表示收到消息会运行的,setup是开始就运行的,task是定时任务不填默认event
"match_content":".*"//插件类型为event时生效,填入正则表达式,收到消息匹配成功时运行插件,不填不过滤
"task_time":1000//插件类型为task时生效,为定时任务间隔时间(秒),默认10
"event_type":["message-created"]//插件类型为event时生效,触发事件不填不过滤
"start_fun":"main",//启动函数(在main.py中的启动函数的函数名)不填默认main
"cmd_fun":"cmd",//启动函数(在main.py中的命令函数的函数名)不填默认cmd
"file_name":"main",//启动函数所在的文件名,不填默认main
"pass_group":["123","123123"]//生效群号,不填对所有群生效
"pass_friend":["123123","123"]//生效id,不填对所有人生效
"cmd_help":"/newPlugin [xxx参数] [xxx参数]",//命令提示
"off":"False"//是否关闭插件
}
```
* 编写main.py(file_name.py)
```
//SendMessage为发送消息的类
from Colya.service.MessageService import SendMessage,setMsgSession
//此处main为config.json中配置的start_fun
from Colya.plugin.base import PluginBase
//type为event时主函数要接收一个context,setup和task没有参数
def main(context):
//先调用一下base格式化context信息
//context中包含session(触发事件的所有参数信息)和历史session信息
base = PluginBase(context)
//dictionary中有所有功能的实现方式
base.dictionary.MessageCreate(base.session_guild_id,"测试回复").do()
--------------------------------------------------------------------------
可以单独调用Dictionary
from Colya.dictionary.dictionary import Dictionary
def main():
dict = Dictionary('机器人id')
dict.MessageCreate('群号','内容').do()
```
## 以实现功能
- [x] 接收发送消息
- [x] 动态加载插件
- [x] 插件config
- [x] console控制台
## 感谢
* 框架由https://github.com/kumoSleeping/TomorinBot提供技术参考