- Install WSL2 (Ubuntu 22.04 LTS) -
Microsoft Store
->Ubuntu 22.04 LTS
- Run Ubuntu 22.04 -
Start menu
-> Search forUbuntu 22.04 LTS
- Set username/password (only needed for first time setup)
- Confirm environment (output should be similar to the following):
$ uname -a Linux lightning 5.10.16.3-microsoft-standard-WSL2 #1 SMP Fri Apr 2 22:23:49 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux $ python3 --version Python 3.10.6
- Install redis and pip via apt
$ sudo apt update ... $ sudo apt install redis-server python3-pip python3-venv
- Confirm if redis is running (in the case below, redis is not running)
$ redis-cli Could not connect to Redis at 127.0.0.1:6379: Connection refused not connected>
- Modify
/etc/redis/redis.conf
- comment outsupervised no
and replace it withsupervised systemd
:#supervised no supervised systemd
- Run
redis-server
with systemd service$ sudo service redis-server start Starting redis-server: redis-server. $
- Confirm again that redis is running:
$ redis-cli 127.0.0.1:6379> SELECT 0 OK 127.0.0.1:6379>
- Clone the project from git:
$ git clone [email protected]:PaiGramTeam/PaiGram.git ... $ git submodule update --init --recursive ... $ cd PaiGram/ ~/PaiGram $
- Virtual environment is recommended. Set it up via
venv
orvirtualenv
:~/PaiGram $ python3 -m venv venv ~/PaiGram $ source venv/bin/activate (venv) ~/PaiGram $
- Install pip dependencies
(venv) ~/PaiGram $ pip install poetry Collecting poetry ... (venv) ~/PaiGram $ poetry install --extras all Installing dependencies from lock file Package operations: 88 installs, 3 updates, 0 removals ... (venv) ~/PaiGram $ playwright install chromium Downloading Chromium 107.0.5304.18 (playwright build v1028) - 137.8 Mb [====================] 100% 0.0s Chromium 107.0.5304.18 (playwright build v1028) downloaded to /home/username/.cache/ms-playwright/chromium-1028 (venv) ~/PaiGram $ playwright install-deps chromium ... (venv) ~/PaiGram $
- Install chromium (for rendering images):
sudo apt-get install libnss3\ libnspr4\ libatk1.0-0\ libatk-bridge2.0-0\ libcups2\ libatspi2.0-0\ libxcomposite1\ libxdamage1\ libxfixes3\ libxrandr2\ libgbm1\ libxkbcommon0\ libpango-1.0-0\ libcairo2\ libasound2\ libwayland-client0
- Create dotenv config (
.env
) from example:(venv) ~/PaiGram $ cp .env.example .env (venv) ~/PaiGram $
- Modify
.env
(usingsqlite
here for dev purposes with database file namedb.sqlite3
):DB_DRIVER_NAME=sqlite+aiosqlite DB_DATABASE=db.sqlite3
- Run alembic for database setup
(venv) ~/PaiGram $ alembic upgrade head INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running upgrade -> 9e9a36470cd5, init INFO [alembic.runtime.migration] Running upgrade 9e9a36470cd5 -> ddcfba3c7d5c, v4 (venv) ~/PaiGram $
If you reach this point with success, you're now ready to run the project
Make sure venv
is still active. Run the following command to start PaiGram:
(venv) ~/PaiGram $ python3 run.py
[2023-04-30 09:56:07] INFO 正在启动 BOT 中... core.application 134
[2023-04-30 09:56:08] INFO Telegram 初始化成功 core.application 141
INFO 正在尝试启动 Playwright core.dependence.aiobrowser 31
[2023-04-30 09:56:09] SUCCESS Playwright 启动成功 core.dependence.aiobrowser 33
INFO 正在尝试启动 Browser core.dependence.aiobrowser 35
SUCCESS Browser 启动成功 core.dependence.aiobrowser 38
SUCCESS 基础服务 "AioBrowser" 启动成功 core.manager 97
SUCCESS 基础服务 "Database" 启动成功 core.manager 97
INFO 正在尝试建立与 Redis 连接 core.dependence.redisdb 39
INFO 连接 Redis 成功 core.dependence.redisdb 29
SUCCESS 基础服务 "RedisDB" 启动成功 core.manager 97
INFO 正在刷新元数据 core.dependence.assets 538
[2023-04-30 09:56:21] SUCCESS Avatar data is done. metadata.scripts.honey 173
[2023-04-30 09:56:24] SUCCESS Weapon data is done. metadata.scripts.honey 175
[2023-04-30 09:56:30] SUCCESS Material data is done. metadata.scripts.honey 177
[2023-04-30 09:57:14] SUCCESS Artifact data is done. metadata.scripts.honey 179
[2023-04-30 09:57:20] SUCCESS Namecard data is done. metadata.scripts.honey 181
INFO 刷新元数据成功 core.dependence.assets 543
SUCCESS 基础服务 "AssetsService" 启动成功 core.manager 97
INFO MTProto 服务需要的 api_id 未配置 本次服务 client 为 None core.dependence.mtproto 51
SUCCESS 基础服务 "MTProto" 启动成功 core.manager 97
SUCCESS 服务 "SignServices" 启动成功 core.manager 189
SUCCESS 服务 "WikiService" 启动成功 core.manager 189
SUCCESS 服务 "UserService" 启动成功 core.manager 189
WARNING 检测到未配置Bot所有者 会导无法正常使用管理员权限 core.services.users.services 51
SUCCESS 服务 "UserAdminService" 启动成功 core.manager 189
SUCCESS 服务 "TemplateService" 启动成功 core.manager 189
SUCCESS 服务 "QuizService" 启动成功 core.manager 189
SUCCESS 服务 "PlayersService" 启动成功 core.manager 189
SUCCESS 服务 "PlayerInfoService" 启动成功 core.manager 189
SUCCESS 服务 "GameStrategyService" 启动成功 core.manager 189
SUCCESS 服务 "CookiesService" 启动成功 core.manager 189
INFO 正在初始化公共Cookies池 core.services.cookies.services 47
SUCCESS 刷新公共Cookies池成功 core.services.cookies.services 49
SUCCESS 服务 "PublicCookiesService" 启动成功 core.manager 189
SUCCESS 服务 "SearchServices" 启动成功 core.manager 189
[2023-04-30 09:57:21] SUCCESS 插件 "plugins.jobs.public_cookies.PublicCookiesPlugin" 安装成功 core.manager 273
INFO 正在创建角色详细信息表 plugins.tools.genshin 70
SUCCESS 创建角色详细信息表成功 plugins.tools.genshin 73
SUCCESS 插件 "plugins.tools.genshin.CharacterDetails" 安装成功 core.manager 273
SUCCESS 插件 "plugins.tools.genshin.GenshinHelper" 安装成功 core.manager 273
SUCCESS 插件 "plugins.tools.sign.SignSystem" 安装成功 core.manager 273
SUCCESS 插件 "plugins.genshin.sign.Sign" 安装成功 core.manager 273
SUCCESS 插件 "plugins.jobs.sign.SignJob" 安装成功 core.manager 273
SUCCESS 插件 "plugins.genshin.hilichurls.HilichurlsPlugin" 安装成功 core.manager 273
SUCCESS 插件 "plugins.genshin.avatar_list.AvatarListPlugin" 安装成功 core.manager 273
SUCCESS 插件 "plugins.genshin.wish.WishSimulatorPlugin" 安装成功 core.manager 273
SUCCESS 插件 "plugins.genshin.abyss_team.AbyssTeamPlugin" 安装成功 core.manager 273
SUCCESS 插件 "plugins.genshin.strategy.StrategyPlugin" 安装成功 core.manager 273
SUCCESS 插件 "plugins.genshin.stats.PlayerStatsPlugins" 安装成功 core.manager 273
SUCCESS 插件 "plugins.genshin.player_cards.PlayerCards" 安装成功 core.manager 273
SUCCESS 插件 "plugins.genshin.help.HelpPlugin" 安装成功 core.manager 273
SUCCESS 插件 "plugins.genshin.ledger.LedgerPlugin" 安装成功 core.manager 273
SUCCESS 插件 "plugins.genshin.reg_time.RegTimePlugin" 安装成功 core.manager 273
SUCCESS 插件 "plugins.genshin.daily.material.DailyMaterial" 安装成功 core.manager 273
...