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
+49-58
Original file line number
Diff line number
Diff line change
@@ -6,8 +6,7 @@
6
6
7
7
<palign="center">
8
8
<i>
9
-
Discord bot for managing <a href="https://warframe.fandom.com/wiki/Lunaro">Lunaro</a>
10
-
related ideas, targeted at the <a href="https://discord.gg/mUjGHEw">Lunaro Revival Discord Server</a>
9
+
Discord bot for managing everything <a href="https://warframe.fandom.com/wiki/Lunaro">Lunaro</a> for the <a href="https://discord.gg/rFBzmpEQxc">Academia Lunaris Discord Server</a>
while inserting your client ID and keeping the scopes. Remember that the bot is
40
-
designed to *only be active in 1 server at a time.*
41
-
42
-
Please also make sure the bot's personal role is ranked *above* the managed playing role!
43
-
44
-
---
45
-
46
25
## Usage
47
26
48
-
This section explains all functionality which Lunaro Manager offers. Every
49
-
action will be replied to with a (selectively ephemeral) message.
27
+
> [!NOTE]
28
+
> Lunaro tracking is **enabled** for every server member by default.
29
+
>
30
+
> Lunaro Manager will react to changes in your Discord rich presence.
31
+
> It will automatically set your playing status to "Playing Lunaro" when you are playing Lunaro, and remove it with a small delay when you are not.
32
+
>
33
+
> You can disable Lunaro tracking for your account at any time using the [`/tracking pause`](#-tracking-pause) command.
50
34
51
35
### `❓ /help`
52
36
53
-
Guides to the Discord command explorer to discover all commands, and also links
54
-
to this GitHub section.
37
+
Guides to the Discord command explorer to discover all commands, and also links to this GitHub section.
55
38
56
39
### `🏓 /ping`
57
40
58
-
Check if Lunaro Manager is online and how long it took to receive the ping. This
59
-
value is calculated from the system time, and may thus be inaccurate.
41
+
Check if Lunaro Manager is online and how long it took to receive the ping.
42
+
This value is calculated from the system time, and may thus be inaccurate.
60
43
61
44
### `🟢 /play now`
62
45
63
-
Adds the configured playing role to your profile.
46
+
Adds the playing role to your profile.
64
47
You can optionally disable Lunaro tracking for your account at the same time.
65
48
66
49
### `⭕ /play later`
67
50
68
-
Removes the configured playing role from your profile.
51
+
Removes the playing role from your profile.
69
52
You can optionally re-enable Lunaro tracking for your account at the same time.
70
53
71
54
### `👀 /play info`
72
55
73
-
Lists the number of members with the playing role.
56
+
Lists the number of members playing Lunaro.
74
57
75
58
### `💤 /tracking pause`
76
59
77
-
Disables Lunaro tracking for your account. This is useful because the Lunaro
78
-
tracker will otherwise override your manually set playing status.
60
+
Disables Lunaro tracking for your account.
61
+
62
+
The bot will no longer react to changes in your Discord rich presence.
63
+
This is useful because the Lunaro tracker will otherwise override your manually set playing status.
79
64
80
65
### `👁️ /tracking resume`
81
66
82
-
Enables Lunaro tracking for your account. Now you don't have to manually set
83
-
your playing status anymore.
67
+
Enables Lunaro tracking for your account.
68
+
69
+
The bot will now react to changes in your Discord rich presence.
70
+
Now you don't have to manually set your playing status anymore, as the bot will automatically check if you are playing Lunaro.
84
71
85
72
### `💡 /about`
86
73
87
-
Displays details about Lunaro Manager, including amount of actively tracked
88
-
members as well as stats and metadata about the bot.
74
+
Displays details about Lunaro Manager, including amount of actively tracked members as well as stats and metadata about the bot.
89
75
90
76
### `🤝 /contribute`
91
77
92
-
Displays a link to this GitHub page, encouraging the creation of issues and
93
-
pull requests.
94
-
95
-
---
78
+
Displays a link to this GitHub page, encouraging the creation of issues and pull requests.
96
79
97
-
## Setup
80
+
## Development setup
98
81
99
82
1. Create a bot on https://discord.com/developers
100
83
101
84
2. Enable `PRESENCE` & `SERVER MEMBERS` intents in the Bot section
102
85
103
-
3. Create a `.env` file following the example of [.env.example](.env.example)
86
+
3. Invite the bot to your server, giving the following permissions:
87
+
- Manage Roles
88
+
- Send Messages
104
89
105
-
4. Run the bot (see next sections)
90
+
4. Create a `.env` file following the schema in [.env.schema](.env.schema)
91
+
92
+
5. Run the bot using one of the methods below
106
93
107
94
## Running the bot
108
95
96
+
You can run the bot in several ways, depending on your preference and use case.
97
+
109
98
### Run locally
110
99
111
100
You need to have [Rust](https://rust-lang.org) installed.
101
+
This is the recommended way to run the bot during development.
112
102
113
103
```sh
114
104
$ cargo run
115
105
```
116
106
107
+
### Run in Docker
108
+
109
+
You need to have [Docker](https://docker.com) installed.
110
+
This is the recommended way to run the bot in production.
111
+
112
+
```sh
113
+
$ docker compose up --build -d
114
+
```
115
+
117
116
### Run using Nix
118
117
119
-
If you have the [Nix](https://nixos.org) package manager installed, and enabled
120
-
[Flakes](https://nixos.wiki/wiki/Flakes), you have several ways to build and run
121
-
this bot.
118
+
If you have the [Nix](https://nixos.org) package manager installed with [Flakes](https://nixos.wiki/wiki/Flakes) enabled, you have several ways to build and run this bot.
122
119
123
120
As a reminder:
124
121
125
122
-`nix build` builds the package binary
123
+
-`nix shell` builds the package binary and makes it available in your `$PATH`
126
124
-`nix run` builds the package binary and immediately executes it
127
-
-`nix shell` builds the package binary and makes it available in your shell
128
125
129
126
I will use `nix run` as the example, but you can use any of the above.
0 commit comments