You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+61-13
Original file line number
Diff line number
Diff line change
@@ -42,7 +42,49 @@ More feature coming soon!
42
42
43
43
### Self-Hosting
44
44
45
-
> **NOTE**: Python 3.8+ is required to host this bot!
45
+
#### Docker
46
+
47
+
- Install [Docker](https://docs.docker.com/install/) and [Docker-Compose](https://docs.docker.com/compose/install/)
48
+
- Create `docker-compose.yaml` file or use the one from [`docker/compose-examples`](./docker/compose-examples):
49
+
50
+
```yaml
51
+
version: "3"
52
+
53
+
services:
54
+
bot:
55
+
container_name: zibot
56
+
image: ghcr.io/ziro-bot/z3r0:latest
57
+
volumes:
58
+
- "./data:/app/data"
59
+
- "./config.py:/app/config.py"
60
+
```
61
+
62
+
- Then run:
63
+
64
+
```zsh
65
+
docker-compose up -d
66
+
67
+
# or if you want to use one of the sample yaml file
68
+
docker-compose -f docker/compose-examples/basic/docker-compose.yml up -d
69
+
```
70
+
71
+
> Since 3.5.0, ziBot support environment variables, added specifically for Docker
72
+
73
+
| Env | Json | Description |
74
+
|-----|------|-------------|
75
+
| ZIBOT\_TOKEN | token | **REQUIRED**. Discord Bot's token, without it you can't run the bot at all. You can get it on https://discord.com/developers/applications |
76
+
| ZIBOT\_DB\_URL | sql | **REQUIRED**. The bot's database url. Format: `DB_TYPE://PATH_OR_CREDENTIALS/DB_NAME?PARAM1=value&PARAM2=value`, you can visit [TortoiseORM's documentation](https://tortoise.github.io/databases.html#db-url) to learn more about it |
77
+
| ZIBOT\_BOT\_MASTERS | botMasters | Separated by spaces. The bot's master(s), allows listed user(s) to execute master/dev only commands. By default it'll get whoever owns the bot application |
78
+
| ZIBOT\_ISSUE\_CHANNEL | issueChannel | Channel that the bot will use to send reported errors |
79
+
| ZIBOT\_OPEN\_WEATHER\_TOKEN | openweather | Token for OpenWeatherAPI, only required if you want to use the weather command |
80
+
| ZIBOT\_AUTHOR | author | Change the bot's author name (and tag) shown in the info command |
81
+
| **CURRENTLY NOT AVAILABLE** | links | Change the links shown in the info command |
82
+
| **CURRENTLY NOT AVAILABLE** | TORTOISE\_ORM | Advanced TortoiseORM configuration, you shouldn't touch it if you're not familiar with TortoiseORM |
83
+
| ZIBOT\_INTERNAL\_API\_HOST | internalApiHost | The bot's [internal API](https://github.com/ZiRO-Bot/RandomAPI) |
84
+
85
+
#### Manual
86
+
87
+
> **NOTE**: Python 3.10+ is required to host this bot!
46
88
47
89
- Download this repository by executing `git clone https://github.com/ZiRO-Bot/Z3R0.git`
48
90
or click "Code" -> "Download ZIP"
@@ -52,10 +94,8 @@ More feature coming soon!
52
94
# Windows
53
95
py -m pip install poetry
54
96
55
-
# Linux / MacOS / other Unix-based
97
+
# Linux
56
98
python3 -m pip install poetry
57
-
# or (make sure it's python 3.8+)
58
-
python -m pip install poetry
59
99
```
60
100
61
101
- After poetry successfully installed, execute this command to install all required dependencies,
@@ -73,14 +113,14 @@ More feature coming soon!
73
113
74
114
- Copy and paste (or rename) [`config.py-example`](./config.py-example) to `config.py`
75
115
- Edit all the necessary config value (`token`, `botMasters`, and `sql`)
76
-
- Run the bot by executing this command, `poetry run python .`
116
+
- Run the bot by executing this command, `poetry run bot`
77
117
- If everything is setup properly, the bot should be online!
78
118
79
119
### Development
80
120
81
121
- Install poetry `pip install poetry` then run `poetry install`
82
122
- Run `poetry run pre-commit install`
83
-
- To run the bot executing this command, `poetry run python .`
123
+
- To run the bot executing this command, `poetry run bot`
84
124
85
125
## Changelog
86
126
@@ -94,20 +134,28 @@ Moved to [CHANGELOG.md](./CHANGELOG.md)
94
134
- Channel manager commands
95
135
- Reaction Role (With buttons... button role?)
96
136
- Starboard
97
-
- Docker thingy for easier way to host the bot
98
-
- Replace mute with the new timeout feature from Discord
137
+
- Slash and ContextMenu commands (80% complete)
138
+
- Button-based (or Modal-based?) bot settings
139
+
- Setup Tests using dpytest
99
140
100
141
### Pending Plan
101
142
102
-
- i18n using gettext (Learning how gettext works)
103
-
- Slash command (Waiting for implementation)
143
+
- i18n using gettext
144
+
Currently still figuring out how to actually implement gettext
145
+
- Modals
146
+
Too much limitation at the moment, waiting for model input types
104
147
105
148
### Scrapped Plan
106
149
107
150
> Plan that unfortunately not possible (atleast for now)
108
-
- Music Player (ffmpeg+ytdl vs lavalink?)
109
-
- Public/Private commands, allowing other user to use each other's command in a different server.
110
-
- Twitch and YouTube notification (Find how to refresh webhook thingy reliably)
151
+
- Replace mute with the new timeout feature from Discord
152
+
The feature is too limited, maybe I'll add timeout command instead
153
+
- Music Player
154
+
Not in my top priority, and looking at how aggresive Google is towards music bots... maybe not gonna do it afterall
155
+
- Public/Private commands, allowing other user to use each other's command in a different server
156
+
Too complicated, might add it after I finally finish the dashboard
157
+
- Twitch and YouTube notification
158
+
Unreliable most of the time, sometimes return duplicates
0 commit comments