https://github.com/cyteon/discord_gleam
A library to create discord bots in gleam
https://github.com/cyteon/discord_gleam
discord discord-bot gleam gleam-lang
Last synced: 7 months ago
JSON representation
A library to create discord bots in gleam
- Host: GitHub
- URL: https://github.com/cyteon/discord_gleam
- Owner: Cyteon
- License: mit
- Created: 2024-07-15T11:20:37.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-14T07:16:43.000Z (7 months ago)
- Last Synced: 2025-04-14T08:31:27.947Z (7 months ago)
- Topics: discord, discord-bot, gleam, gleam-lang
- Language: Gleam
- Homepage:
- Size: 76.2 KB
- Stars: 23
- Watchers: 4
- Forks: 8
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- discord-api-libs - discord_gleam - A library to create discord bots in gleam (Libraries / Gleam)
README
# discord_gleam
[](https://hex.pm/packages/discord_gleam)
[](https://hexdocs.pm/discord_gleam/)
```sh
gleam add discord_gleam
```
```gleam
import discord_gleam
import discord_gleam/event_handler
import discord_gleam/types/message
import discord_gleam/discord/intents
import gleam/list
import gleam/string
import logging
pub fn main() {
logging.configure()
logging.set_level(logging.Info)
let bot = discord_gleam.bot("YOUR TOKEN", "YOUR CLIENT ID", intents.Intents(message_content: True, guild_messages: True))
discord_gleam.run(bot, [event_handler])
}
fn event_handler(bot, packet: event_handler.Packet) {
case packet {
event_handler.MessagePacket(message) -> {
logging.log(logging.Info, "Message: " <> message.d.content)
case message.d.content {
"!ping" -> {
discord_gleam.send_message(bot, message.d.channel_id, "Pong!", [])
}
_ -> Nil
}
}
_ -> Nil
}
}
```
Further documentation can be found at .
## Development
```sh
gleam test # Run the tests
```
## Features:
| Feature | Status |
| -------------------- | ------ |
| Basic events | ✅ |
| More events | 🔨 |
| Sending messages | ✅ |
| Ban/kick | ✅ |
| Deleting messages | ✅ |
| Embeds | ✅ |
| Basic Slash commands | ✅ |
| Messge Cache | ✅ |
| Intents | 🔨 |
✅ - Done | 🔨 - In Progress | 📆 - Planned | ❌ - Not Planned
## Supported events:
- READY
- MESSAGE_CREATE
- MESSAGE_DELETE
- INTERACTION_CREATE