Skip to content

Document self hosting and add command handling#119

Open
tomgelu wants to merge 4 commits intoDigitalPulseSoftware:masterfrom
tomgelu:docs/readme
Open

Document self hosting and add command handling#119
tomgelu wants to merge 4 commits intoDigitalPulseSoftware:masterfrom
tomgelu:docs/readme

Conversation

@tomgelu
Copy link
Copy Markdown

@tomgelu tomgelu commented Apr 6, 2026

Document all modules, commands, configuration options and bot behavior.

Document all modules, commands, configuration options and bot behavior.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copy link
Copy Markdown
Contributor

@Equinox4 Equinox4 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

premier jet, d'autres passages seront nécessaires

README.md Outdated
- `help` — lists all commands you have access to. Use `help <command>` for details on a specific command. Results are paginated with Previous/Next buttons.

**Argument syntax:**
- Required arguments: `arg`
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Required arguments: `arg`
- Required arguments: `<arg>`

README.md Outdated

Most moderation commands are **silent** — they delete your invoking message after running.

**Permission checks** are per-command. Users without the required role or Discord permission are silently ignored.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

are silently ignored
not always true

README.md Outdated

**Notes:**
- Bans are tracked with expiration times. The bot automatically unbans when the duration expires.
- You cannot ban someone with a higher or equal role than yours.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nor an admin

README.md Outdated

**Notes:**
- The bot automatically sets the mute role permissions on all text and voice channels (denies send messages, add reactions, speak).
- If a muted user leaves and rejoins, the mute role is reapplied.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- If a muted user leaves and rejoins, the mute role is reapplied.
- If a muted user leaves and rejoins the guild, the mute role is reapplied.

README.md Outdated
Comment on lines +206 to +217
- Default: 10 joins in 5 seconds triggers a 10-minute lock.

**Spam score detection:**
- Each message receives a score based on content:
- Base: **+1** per message
- **+1** per spam keyword (`nitro`, `free`, `crypto`, `steam`, `discord`, etc.)
- **+1** if a spam hint is present (`gift`, `bitcoin`, `airdrop`, etc.)
- **+1** per unique user ping
- **×2** for `@everyone`, `@here`, or role pings
- **×2** for non-Discord external links
- **+1** for each channel switch
- Score compounds for repeated content
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no really needs for describing the algo and keywords in the readme, it is subject to change

Suggested change
- Default: 10 joins in 5 seconds triggers a 10-minute lock.
**Spam score detection:**
- Each message receives a score based on content:
- Base: **+1** per message
- **+1** per spam keyword (`nitro`, `free`, `crypto`, `steam`, `discord`, etc.)
- **+1** if a spam hint is present (`gift`, `bitcoin`, `airdrop`, etc.)
- **+1** per unique user ping
- **×2** for `@everyone`, `@here`, or role pings
- **×2** for non-Discord external links
- **+1** for each channel switch
- Score compounds for repeated content

README.md Outdated

| Command | Usage | Description |
|---|---|---|
| `newticket` | `newticket [member] [message]` | Opens a modmail ticket (optionally on behalf of a member). |
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(optionally on behalf of a member)

?
no

README.md Outdated
| Command | Usage | Description |
|---|---|---|
| `newticket` | `newticket [member] [message]` | Opens a modmail ticket (optionally on behalf of a member). |
| `modticket` | `modticket <member> [message]` | Opens a ticket for a member (staff only). |
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

incorrect

README.md Outdated

| Command | Usage | Description |
|---|---|---|
| `prune` | `prune <count>` | Deletes the last N messages (max 100, no older than 14 days). |
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
| `prune` | `prune <count>` | Deletes the last N messages (max 100, no older than 14 days). |
| `prune` | `prune <count>` | Deletes the last N messages (no older than 14 days). |

README.md Outdated
| Command | Usage | Description |
|---|---|---|
| `pin` | `pin <messageId>` | Pins a message. Requires Manage Messages or channel ownership. |
| `unpin` | `unpin <messageId>` | Unpins a message. |
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

requires same permission as pin

README.md Outdated

| Command | Usage | Description |
|---|---|---|
| `sendmessage` | `sendmessage [channel] [content]` | Sends a message (or opens an interactive editor) as the bot. |
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
| `sendmessage` | `sendmessage [channel] [content]` | Sends a message (or opens an interactive editor) as the bot. |
| `sendmessage` | `sendmessage [channel] [content]` | Sends a message as the bot. |

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@tomgelu tomgelu requested a review from Equinox4 April 7, 2026 16:51
README.md Outdated

Commands are triggered by:
- A prefix (configurable per server, default `!`), e.g. `!ban @user`
- Or a direct mention of the bot, e.g. `@NotaBot ban @user`
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

du coup on peut remettre ceci, my bad

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

remi !

@tomgelu tomgelu requested a review from Equinox4 April 8, 2026 15:18
- bot.lua: add messageContent privileged gateway intent so the bot can
  read message content (required since Discord API v10)
- test_bot.lua: Lua test bot using Discordia to validate documented commands
- test_bot.py: Python test bot (discord.py) used to run the command suite
  (requires TEST_BOT_TOKEN, TARGET_BOT_ID, TEST_GUILD_ID, TEST_CHANNEL_ID,
  TEST_USER_ID env vars or fill in the CONFIG section)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants