2023-03-15 12:41:21 +00:00
|
|
|
<h1 align="center">PaiGram</h1>
|
2022-07-26 10:07:31 +00:00
|
|
|
|
2023-03-15 12:41:21 +00:00
|
|
|
<div align="center"><img src="https://img.shields.io/badge/python-3.11%2B-blue" alt="">
|
2023-02-15 07:00:30 +00:00
|
|
|
<img src="https://img.shields.io/badge/works%20on-my%20machine-brightgreen" alt="">
|
|
|
|
<img src="https://img.shields.io/badge/status-%E5%92%95%E5%92%95%E5%92%95-blue" alt="">
|
2022-10-08 15:03:11 +00:00
|
|
|
<a href="https://black.readthedocs.io/en/stable/index.html"><img src="https://img.shields.io/badge/code%20style-black-000000.svg" alt="code_style" /></a>
|
2023-03-15 02:59:53 +00:00
|
|
|
<a href="https://www.codacy.com/gh/PaiGramTeam/PaiGram/dashboard?utm_source=github.com&utm_medium=referral&utm_content=PaiGramTeam/PaiGram&utm_campaign=Badge_Grade"><img src="https://app.codacy.com/project/badge/Grade/ac5844e2b0d14a3e8aa16b9b1b099ce0" alt=""/></a>
|
2022-07-26 10:07:31 +00:00
|
|
|
</div>
|
|
|
|
|
2022-09-15 16:02:26 +00:00
|
|
|
<p>
|
2023-03-15 12:41:21 +00:00
|
|
|
<img src="https://user-images.githubusercontent.com/70872201/190447002-119a8819-b111-4a96-a0b3-701c5e256137.png" align="right" width="100px" alt="">
|
2023-10-09 04:03:58 +00:00
|
|
|
<h2 align="left">Introduction</h2>
|
2022-07-26 10:07:31 +00:00
|
|
|
|
2023-10-09 04:03:58 +00:00
|
|
|
PaiGram based on [python-telegram-bot](https://github.com/python-telegram-bot/python-telegram-bot)
|
2022-07-26 10:07:31 +00:00
|
|
|
|
2023-02-15 07:00:30 +00:00
|
|
|
![Alt](https://repobeats.axiom.co/api/embed/f73c1121006cb86196f83da2170242b7a97f8be0.svg "Repobeats analytics image")
|
2022-09-22 03:03:40 +00:00
|
|
|
|
2023-10-09 04:03:58 +00:00
|
|
|
[中文文档](/docs/README_ZH.md)
|
|
|
|
|
|
|
|
## System Dependencies
|
2022-07-26 10:07:31 +00:00
|
|
|
|
2023-03-14 01:27:22 +00:00
|
|
|
- Python 3.11+
|
2023-03-25 03:17:38 +00:00
|
|
|
- MySQL or SQLite
|
2022-07-26 10:07:31 +00:00
|
|
|
- Redis
|
|
|
|
|
2023-10-09 04:03:58 +00:00
|
|
|
## Usage
|
|
|
|
|
|
|
|
Depending on your preferred environment, follow one of the setups below:
|
|
|
|
|
|
|
|
### WSL2 Ubuntu 22.04 Setup
|
2022-07-26 10:07:31 +00:00
|
|
|
|
2023-10-09 04:03:58 +00:00
|
|
|
For contributors using WSL2 on Ubuntu 22.04, follow the [detailed guide here](/docs/wsl/EN.md).
|
|
|
|
|
|
|
|
### Standard Setup (All Environments)
|
|
|
|
|
|
|
|
#### 1. Clone PaiGram from Git
|
2022-09-03 04:27:26 +00:00
|
|
|
|
2022-09-02 16:48:30 +00:00
|
|
|
```bash
|
2024-07-07 14:39:02 +00:00
|
|
|
git clone git@github.com:PaiGramTeam/PaiGram.git --recurse-submodules
|
2023-10-09 04:03:58 +00:00
|
|
|
cd PaiGram/
|
2022-09-02 16:48:30 +00:00
|
|
|
```
|
2022-07-26 10:07:31 +00:00
|
|
|
|
2023-10-09 04:03:58 +00:00
|
|
|
#### 2. Project Setup
|
|
|
|
|
|
|
|
It's recommended to use a virtual environment. You can set it up via `venv` or `virtualenv`.
|
|
|
|
|
|
|
|
**Create Virtual environment:**
|
2022-09-03 04:27:26 +00:00
|
|
|
|
2022-09-02 16:48:30 +00:00
|
|
|
```bash
|
2023-10-09 04:03:58 +00:00
|
|
|
python3 -m venv venv
|
2022-09-02 16:48:30 +00:00
|
|
|
```
|
2022-09-03 04:27:26 +00:00
|
|
|
|
2023-10-09 04:03:58 +00:00
|
|
|
**Activate the virtual environment:**
|
|
|
|
|
|
|
|
*For Linux:*
|
2022-09-11 07:08:02 +00:00
|
|
|
|
|
|
|
```bash
|
2023-10-09 04:03:58 +00:00
|
|
|
source venv/bin/activate
|
2022-09-11 07:08:02 +00:00
|
|
|
```
|
|
|
|
|
2023-10-09 04:03:58 +00:00
|
|
|
*For Windows Command Prompt:*
|
2022-09-04 05:52:33 +00:00
|
|
|
|
2023-10-09 04:03:58 +00:00
|
|
|
```bash
|
|
|
|
venv\Scripts\activate.bat
|
|
|
|
```
|
|
|
|
|
|
|
|
*For Windows PowerShell:*
|
2022-09-04 05:52:33 +00:00
|
|
|
|
|
|
|
```bash
|
2023-10-09 04:03:58 +00:00
|
|
|
.\venv\Scripts\Activate.ps1
|
2022-09-04 05:52:33 +00:00
|
|
|
```
|
|
|
|
|
2023-10-09 04:03:58 +00:00
|
|
|
**Install Dependencies:**
|
2023-02-13 17:20:10 +00:00
|
|
|
|
2023-10-09 04:03:58 +00:00
|
|
|
```bash
|
2024-06-04 11:35:23 +00:00
|
|
|
pip install pdm
|
|
|
|
pdm install
|
2023-10-09 04:03:58 +00:00
|
|
|
playwright install chromium
|
|
|
|
```
|
|
|
|
|
|
|
|
Optional Dependencies
|
2022-09-04 05:52:33 +00:00
|
|
|
|
|
|
|
```bash
|
2024-06-04 11:35:23 +00:00
|
|
|
pdm install -G :all
|
2022-09-04 05:52:33 +00:00
|
|
|
```
|
|
|
|
|
2023-10-09 04:03:58 +00:00
|
|
|
**Edit Config:**
|
|
|
|
|
|
|
|
Create a dotenv config (`.env`) based on the given example. Ensure to provide the necessary database connection
|
2023-10-19 14:03:32 +00:00
|
|
|
details and bot token parameters.
|
2022-09-03 04:27:26 +00:00
|
|
|
|
2022-09-02 16:48:30 +00:00
|
|
|
```bash
|
2023-10-09 04:03:58 +00:00
|
|
|
cp .env.example .env
|
2022-09-02 16:48:30 +00:00
|
|
|
```
|
2022-07-26 10:07:31 +00:00
|
|
|
|
2023-10-09 04:03:58 +00:00
|
|
|
For detailed configurations, refer to the [Wiki/Env Settings](https://github.com/PaiGramTeam/PaiGram/wiki/Env-Settings).
|
|
|
|
|
|
|
|
#### 3. Database Setup with Alembic
|
|
|
|
|
|
|
|
```bash
|
|
|
|
alembic upgrade head
|
|
|
|
```
|
|
|
|
|
|
|
|
#### 4. Run PaiGram
|
|
|
|
|
|
|
|
Ensure the `venv` is still active:
|
|
|
|
|
|
|
|
```bash
|
|
|
|
python ./run.py
|
|
|
|
```
|
2023-02-11 05:17:02 +00:00
|
|
|
|
2023-10-09 04:03:58 +00:00
|
|
|
### Alternative Deployments
|
2023-02-11 05:17:02 +00:00
|
|
|
|
2023-10-09 04:03:58 +00:00
|
|
|
- **Docker:** For deployments using Docker, see
|
|
|
|
the [Wiki/Deploy with Docker](https://github.com/PaiGramTeam/PaiGram/wiki/Deploy-with-Docker).
|
2023-02-11 05:17:02 +00:00
|
|
|
|
2023-10-09 04:03:58 +00:00
|
|
|
- **Podman:** For deployments using Podman, see
|
|
|
|
the [Wiki/Deploy with Podman](https://github.com/PaiGramTeam/PaiGram/wiki/Deploy-with-Podman).
|
2023-02-11 05:17:02 +00:00
|
|
|
|
2023-10-09 04:03:58 +00:00
|
|
|
## Additional Information
|
2022-07-26 10:07:31 +00:00
|
|
|
|
2023-10-09 04:03:58 +00:00
|
|
|
This project is currently being expanded,
|
|
|
|
adding more entertainment and information query features related to Genshin Impact.
|
|
|
|
Stay tuned!
|
2022-07-26 10:07:31 +00:00
|
|
|
|
2023-10-09 04:03:58 +00:00
|
|
|
## Acknowledgments
|
2022-07-26 10:07:31 +00:00
|
|
|
|
2023-10-09 04:03:58 +00:00
|
|
|
| Nickname | Introduce |
|
|
|
|
|:-----------------------------------------------------------------------:|------------------|
|
|
|
|
| [原神抽卡全机制总结](https://www.bilibili.com/read/cv10468091) | 本项目抽卡模拟器使用的逻辑 |
|
|
|
|
| [西风驿站 猫冬](https://bbs.mihoyo.com/ys/accountCenter/postList?id=74019947) | 本项目攻略图图源 |
|
|
|
|
| [Yunzai-Bot](https://github.com/Le-niao/Yunzai-Bot) | 本项使用的抽卡图片和前端资源来源 |
|
|
|
|
| [Crawler-ghhw](https://github.com/DGP-Studio/Crawler-ghhw) | 本项目参考的爬虫代码 |
|
|
|
|
| [Enka.Network](https://enka.network) | 角色卡片的数据来源 |
|
|
|
|
| [miao-plugin](https://github.com/yoimiya-kokomi/miao-plugin) | 角色卡片的参考项目 |
|
2023-10-19 14:03:32 +00:00
|
|
|
| [DGP HuTao API](https://hut.ao/en/) | 深渊数据来源 |
|