🎉 first commit
Some checks failed
BuildImage / build-image (push) Failing after 2m59s

This commit is contained in:
lxh 2025-02-17 09:18:57 +08:00
commit 2a180db6c6
5 changed files with 143 additions and 0 deletions

View File

@ -0,0 +1,54 @@
name: BuildImage
on:
push:
branches:
- main
# tags:
# - '*'
jobs:
build-image:
runs-on: ubuntu-latest
container:
# 使用这个镜像不然Docker无法打包镜像
image: catthehacker/ubuntu:act-latest
steps:
- name: Setup Golang
uses: actions/setup-go@v3
with:
go-version: '>=1.21.0'
cache: false
- name: Checkout Code
uses: actions/checkout@v3
- name: Gen Tags
id: gen_tags
uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38
with:
images: lxh01/xybotv2
tags: |
type=ref,event=branch
type=schedule,pattern={{date 'YYYYMMDD'}}
- name: Print Tags
run: |
echo "${{ steps.gen_tags.outputs.tags }}"
echo "----------------- labels -----------------"
echo "${{ steps.meta.outputs.labels }}"
- name: Login to Repository
uses: docker/login-action@v2
with:
username: ${{ secrets.USERNAME }}
password: ${{ secrets.PASSWORD }}
- name: Build image
uses: docker/build-push-action@v2
with:
push: true
tags: ${{ steps.gen_tags.outputs.tags }}
labels: ${{ steps.gen_tags.outputs.labels }}

41
Dockerfile Normal file
View File

@ -0,0 +1,41 @@
FROM python:3.11-slim AS core
RUN pip install --no-cache-dir xywechatpad-binary
RUN pip show xywechatpad-binary
FROM debian:bookworm-slim AS runner
LABEL org.opencontainers.image.authors="lxh@cxh.cn"
# 预定义参数
ENV TZ="Asia/Shanghai"
ENV PORT=9000
ENV MODE=release
ENV REDIS_HOST="127.0.0.1"
ENV REDIS_PORT=6379
ENV REDIS_PASSWORD=""
ENV REDIS_DB=0
# 设置时区
#RUN apk add --no-cache tzdata && \
# cp /usr/share/zoneinfo/${TZ} /etc/localtime && \
# echo "${TZ}" > /etc/timezone
# 设置工作目录
WORKDIR /app
# 复制文件
COPY . .
COPY --from=core /usr/local/lib/python3.11/site-packages/xywechatpad_binary/binaries/linux_x64 ./WechatAPI/core/
#RUN ls -lah ./WechatAPI/core
# 开始运行
#CMD ["/app/WechatAPI/core/XYWechatPad-linux-x86", "--port", "${PORT}", "--mode", "${MODE}", "--redis-host", "${REDIS_HOST}", " --redis-port", "${REDIS_PORT}", "--redis-password", "${REDIS_PASSWORD}", "--redis-db", "${REDIS_DB}"]
CMD /app/WechatAPI/core/XYWechatPad \
--port $PORT \
--mode $MODE \
--redis-host $REDIS_HOST \
--redis-port $REDIS_PORT \
--redis-password $REDIS_PASSWORD \
--redis-db $REDIS_DB

View File

48
main_config.toml Normal file
View File

@ -0,0 +1,48 @@
[WechatAPIServer]
port = 9000 # WechatAPI服务器端口默认9000如有冲突可修改
mode = "release" # 运行模式release(生产环境)debug(调试模式)
redis-host = "127.0.0.1" # Redis服务器地址本地使用127.0.0.1
redis-port = 6379 # Redis端口默认6379
redis-password = "" # Redis密码如果有设置密码则填写
redis-db = 0 # Redis数据库编号默认0
# XYBot 核心设置
[XYBot]
version = "v1.0.0" # 版本号,请勿修改
ignore-protection = false # 是否忽略风控保护机制建议保持false
database-url = "sqlite:///xybot.db" # SQLite数据库地址一般无需修改
# 管理员设置
admins = ["admin-wxid", "admin-wxid"] # 管理员的wxid列表可从消息日志中获取
disabled-plugins = ["ExamplePlugin"] # 禁用的插件列表,不需要的插件名称填在这里
timezone = "Asia/Shanghai" # 时区设置,中国用户使用 Asia/Shanghai
# 实验性功能如果main_config.toml配置改动或者plugins文件夹有改动自动重启。可以在开发时使用不建议在生产环境使用。
auto-restart = false # 仅建议在开发时启用生产环境保持false
# 消息过滤设置
ignore-mode = "None" # 消息处理模式:
# "None" - 处理所有消息
# "Whitelist" - 仅处理白名单消息
# "Blacklist" - 屏蔽黑名单消息
whitelist = [# 白名单列表
"wxid_1", # 个人用户微信ID
"wxid_2",
"chatroom@111", # 群聊ID
"chatroom@222"
]
blacklist = [# 黑名单列表
"wxid_3", # 个人用户微信ID
"wxid_4",
"chatroom@333", # 群聊ID
"chatroom@444"
]
# OpenAI格式API设置
[OpenAI]
api-key = "sk-xxxx" # OpenAI格式API密钥必须填写有效的API Key
base-url = "https://api.openai.com/v1" # API接口地址
# 使用OpanAI官方API填写 https://api.openai.com/v1
# 使用其他API或者代理API需要修改为对应地址

0
utils/xybot.py Normal file
View File