安装部署请自行前往:Sakura_embyboss 初学练习版
项目说明
推荐使用 Debian 11操作系统,AMD处理器架构的vps搭建,部署Docker方式启动
功能简介
用户面板
- 创建账户
- 绑定未登记账户、换绑TG
- 兑换注册码
- 重置密码
- 删除账户
- 显示隐藏指定媒体库(默认不显示
播放列表
)
服务器
- 显示emby线路,密码,播放人数
- 支持多服务器查看,查看服务器信息网速负载等(需要配置哪吒地址api等)
admin面板
- 管理注册 ->总限额,状态,定时注册
- 创建以及管理邀请码 -> code与深链接 两种形式
- 查看邀请码
- 开关各种定时任务
- 开关兑换商店
config面板
- 导出日志
- bot内设置探针,emby展示线路,指定显隐媒体库,控制注册码续期,自定义开关充电按钮
进阶
- 提示加群、退群删号、被拉入非授权群报警并退出
- 命令初始化根据身份显示不同的的命令
- 各种命令管理
- 添加用户播放时长,媒体播放数排行榜日推周推 EmbyTools
- 支持docker部署进阶的待定想法(有些不一定做)
- 新增额外媒体库,除去用户控制的显示隐藏媒体,可固定隐藏隐私不开放其他用户
- 通过内联模式(如何开启点这里) 搜索emby内资源,并提供一键收藏。
- 自动定时备份启动(同样支持手动)
- 重新启用签到
- 开启商店兑换
- 添加邀请功能,包括展示邀请码数据
- 管理频道发言,默认自动封禁皮套人(可白名单)
- 新增红包功能(测试版)
- 查阅设备数
- 添加Emby中的更新推送
- 群发消息
效果截图
1、Docker安装
- 如果你还没有安装docker、docker compose,下面是其安装步骤:
curl -fsSL https://get.docker.com | bash -s docker curl -L "https://github.com/docker/compose/releases/download/v2.10.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose systemctl start docker systemctl enable docker
2、拉取代码
- 下载源码到本地
sudo apt install python3-pip git clone https://github.com/berry8838/Sakura_embyboss.git && cd Sakura_embyboss && chmod +x main.py
3、填写config.json
- 先复制模板
cp config_example.json config.json
打开文件config.json
,参考config.json模板
填写内容(bot,数据库,Emby等必填项)
emby
- 创建 api_key
- 在插件市场中 下载 playback reporting 插件
telegram bot
- bot的api,用户自己的api,hash
- 群组,已知id 如 -100/-110xxxxx 形式
- bot为群管理员,拥有
删除消息、置顶消息,踢出成员
权限
mysql
- 若已有mysql,跳过此部分
- 打开 docker-compose.yml
- 根据注释 填写自定义资料
docker-compose.yml
拉取到de代码中有,不需要从此处复制
#(此处请注意,拉取的镜像仅适用于amd架构,arm请注意修改配置包括但不仅限于镜像等) #mysql,如环境中已带有可以注释 version: '3' services: mysql: image: mysql:5.7 container_name: mysql # 容器名 command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci # 设置utf8字符集 restart: always network_mode: host environment: MYSQL_ROOT_PASSWORD: 123456 # root管理员用户密码 MYSQL_USER: susu # 创建需要连接的用户 MYSQL_DATABASE: embyboss # 数据库名字 MYSQL_PASSWORD: 1234 # 设置普通用户的密码 MYSQL_ROOT_HOST: "%" # 所有ip可连接 ports: - '3306:3306' # host物理直接映射端口为 volumes: - /root/Sakura_embyboss/db:/var/lib/mysql # phpmyadmin 主要是为了更为直观的供owner翻阅数据,不影响bot运行,如有其他合适软件,可注释内容 # xxxx # phpmyadmin: # image: phpmyadmin/phpmyadmin # container_name: phpmyadmin # restart: always # ports: # - 8080:80 #映射端口可以自己改的 # environment: # MYSQL_ROOT_PASSWORD: "123456" # PMA_HOST: mysql # PMA_PORT: 3306 # depends_on: # - mysql sakura_embyboss: image: jingwei520/sakura_embyboss:latest container_name: embyboss restart: always network_mode: host #网络模式host volumes: - ./config.json:/app/config.json # 映射当前目录的config.json为配置文件 - ./log:/app/log # 映射当前目录下log文件夹存放日志
config.json参考模板
必填
类型 | 变量名称 | 填写描述 |
---|---|---|
Telegram Bot | bot_name | bot的username,比如我的机器人@keaiji1_bot,就填keaiji1_bot |
bot_token | bot的API token ,你在 @Botfather 创建bot时的api_key | |
owner_api | 你的api https://my.telegram.org/auth 获取 | |
owner_hash | 你的api https://my.telegram.org/auth 获取 | |
owner | 拥有者的tgid | |
group | 授权群组id,如-1001869392674 ,未授权的群组拉bot会自动退出。不在群组的成员会提示先加入群组 | |
main_group | 群组的username, 形如 @su_yxfy 中的 su_yxfy 或私密群组的邀请链接,如 https://t.me/+7ZL9MbJd8h44Zjc1中 +7ZL9MbJd8h44Zjc1 ,没有的话就随便填个 Google.com | |
chanel | 填写方式同 main_group | |
bot_photo | 形如 https://telegra.ph/file/3b6cd2a89b652e72e0d3b.png bot发送消息时的配图,可更换图片url,重要 | |
admins | 默认[ ] 为空,可以将想要赋予权限的tg用户id填进 | |
Emby | emby_api | emby的api_key,【Emby Service 管理】-> 【高级】->【API密钥】 创建一个 |
emby_url | 形如 http://255.255.255.36:8096(纯ip) or https://emby.susuyyds.xyz(有反代) 最后不带斜杠,为发起请求emby的地址 | |
emby_line | 【服务器板块】展示给用户的emby地址和信息,仅支持telegram的MarkdownV2写法 | |
Database (Mysql) | db_host | 本机localhost or 数据库的ip 255.255.255.36 端口默认3306 |
db_user | 数据库用户名,默认 susu | |
db_pwd | 数据库密码,默认 1234 | |
db_name | 数据库名,默认 embyboss |
- 如已经填完上述,可以直接前往 启动bot
- 接下来是 【选填项目】 会自动生成,不填亦可,如果填写,请认真阅读!!!
选填
类型 | 变量名称 | 填写描述 |
---|---|---|
Proxy 代理设置 海外机请跳过 | scheme | "socks4", "socks5", "http" 推荐 “socks5” |
hostname | 代理的主机地址 | |
port | 端口 | |
username password | 温馨提示:如果以上你都不会用,请使用海外机器 如果您的代理不需要授权, 可以省略 username password 空着不填 | |
user_buy 充电按钮 | stat | 是否开启充电按钮,即设置一个跳转网页的按钮true or false |
button | 按钮样式["🔋 点击充电","https://google.com","url"] 依序分别 “按钮显示文本”,“跳转网址”,固定不可变字段“url” | |
货币 | money | 功能货币的名称,默认花币 |
open 注册,兑换开关 | stat | 注册状态,默认 false true or false |
all_user | 注册人数限制,可在bot启动后进入admin设置,默认 1000 | |
timing | 定时注册计时参数,bot启动后开启定时注册有效,勿动,默认 0 | |
tem | 当前已注册用户计数,勿动,默认 0 | |
allow_code | 能否使用注册码续期,默认 true true or false | |
checkin | 是否开启签到,默认 true true or false | |
exchange | 是否开启花币月度自动续期,默认 true true or false | |
exchange_cost | 续期一天的价格,默认 300 | |
whitelist | 是否开启兑换白名单,默认 true true or false | |
whitelist_cost | 兑换白名单价格,默认 9999 | |
invite | 是否开启邀请功能,默认 false true or false | |
invite_cost | 邀请码价格 每30天,默认 500 | |
leave_ban | 是否开启退群封禁,默认 true true or false | |
uplays | 是否开启用户播放结算奖励,默认 true true or false | |
Emby Media 媒体库控制 | emby_block | ["媒体库名称"] 由用户能控制显示隐藏的媒体库,bot中也可设置 |
extra_emby_libs | ["媒体库名称"] 默认隐藏,不想对新用户显示的媒体库,用户无法控制显隐,管理通过命令/kk可指定开启 | |
Nezha 探针 效果图 | tz_ad | 探针地址 https://xx.xx.xyz 或 http://25.25.25.25:8008 最后不带斜杠,没有请留空 |
tz_api | 探针后台生成的 api | |
tz_id | 需要展示的 机器的 id,tz开头的三项是和 nezha 探针在一起的项目,没有哪吒探针就忽略。 | |
ranks | logo | 日榜/周榜推送榜单图片中的LOGO文字,默认SAKURA |
backdrop | 是否使用backdrop(即横版图)作为推送榜单的封面图 ,默认false | |
schedall 各种定时任务管理 | dayrank | 默认true ,定时发送媒体播放次数日榜,每日 18:30 |
weekrank | 默认,true ,定时发送媒体播放次数周榜,每周日 23:59 | |
dayplayrank | 默认,false 定时发送用户观看时长日榜,每日 23:00 | |
weekplayrank | 默认,false 定时发送用户观看时长周榜,每周日23:30 | |
check_ex 到期保号 | 默认,true 检测用户到期时间与当前utc时间大小,过期封禁,5天后未续期删号,每日 01:30 | |
low_activity 活跃保号 | 默认,false 检测用户最后一次活跃时间,间隔当前超过21天封禁,每日 08:30 | |
不开启保号 | 如都不开启上述保号 false,false ,则无需保号 | |
backup_db | 默认 false ,自动定时备份数据库,每日 02:30 | |
backup_db 数据库备份详细设置 | db_is_docker | 默认 true ,数据库是否为docker模式启动,or false |
db_docker_name | 默认 mysql ,若docker模式启动的数据库,此数据库容器的名字` | |
db_backup_dir | 默认 ./backup 数据库备份文件所保存的目录 | |
db_backup_maxcount | 默认 7 数据库备份文件保留的个数 | |
AntiChanel 反皮套白名单 | w_anti_chanel_ids | 本机器人默认开启反频道(杀皮套人)功能,除匿名群管皮套,如需要允许其发言请将其id或username加入列表,当然,支持命令操作,请查阅命令大全 |
4、一键启动
- 如果您需要图形化管理数据库,可以将
docker-compose.yml
的 phpmyadmin注释解开
只是当您需要可视化数据库时,确保能使用安装phpmyadmin或以外的(如navicat)软件连接数据库即可
非必要安装!非必要安装!非必要安装!不需要就保持注释。重要的事情说三遍 - 在Sakura_embyboss目录运行命令
docker-compose up -d
docker-compose up -d
恭喜,您已经走完了创建流程!
5、如何更新
docker logs -f embyboss
可以查看控制台输出,是否正常运行ing- 如需更新请删除原镜像,重新拉取启动, 复制使用
cd ./Sakura_embyboss && docker-compose down && docker-compose pull && docker-compose up -d
对上条命令详解
- cd ./Sakura_embyboss # 先切到工作目录
- docker-compose down # 停止Bot or docker stop embyboss
- docker-compose pull # 更新镜像
- docker-compose up -d #后台运行
发布者:木木,转载请注明出处:https://blog.mmcool.site/4769.html