# Shimmer
A Gleam library for interacting with the Discord API
> **Warning**
> This Library is pre-alpha and being worked on.
## Basic Example
```
shimmer = "~> 0.0.5"
gleam_stdlib = "~> 0.25"
gleam_erlang = "~> 0.17"
```
```gleam
import gleam/io
import gleam/string
import gleam/int
import gleam/erlang/process
import shimmer
import shimmer/handlers
pub fn main() {
let handlers =
handlers.new_builder()
|> handlers.on_ready(fn(data) {
io.println(
[
"Logged in as ",
data.user.username,
" (",
int.to_string(data.user.id),
")",
]
|> string.join(with: ""),
)
})
|> handlers.on_message(fn(_message) { io.print("Message Received!") })
let client =
shimmer.new("TOKEN")
|> shimmer.connect(handlers)
process.sleep_forever()
}
```
## Supported Events
- [x] Ready
- [ ] Resumed
- [ ] Channel Create
- [ ] Channel Update
- [ ] Channel Delete
- [ ] Channel Pins Update
- [ ] Guild Create
- [ ] Guild Update
- [ ] Guild Delete
- [ ] Guild Ban Add
- [ ] Guild Ban Remove
- [ ] Guild Emoji Update
- [ ] Guild Integrations Update
- [ ] Guild Member Add
- [ ] Guild Member Remove
- [ ] Guild Member Update
- [ ] Guild Members Chunk
- [ ] Guild Role Create
- [ ] Guild Role Update
- [ ] Guild Role Delete
- [ ] Invite Create
- [ ] Invite Delete
- [x] Message Create
- [ ] Message Update
- [ ] Message Delete
- [ ] Message Delete Bulk
- [ ] Message Reaction Add
- [ ] Message Reaction Remove
- [ ] Message Reaction Remove All
- [ ] Message Reaction Remove Emoji
- [ ] Presence Update
- [ ] Typing Start
- [ ] User Update
- [ ] Voice State Update
- [ ] Voice Server Update
- [ ] Webhooks Update