discord.v
[!CAUTION] I dropped the support of this lib at the end of 2021. The reason is that I don't care anymore about V, fixing "bugs" around new syntax and catching segfaults from socket interactions is not fun. Feel free to fork and keep alive if you need it.
There is another beginning at DarpHome/discord.v
, please check them.
Example
import terisback.discordv as vd
fn main() {
mut client := vd.new(token: 'token') ?
client.on_message_create(on_ping)
client.run().wait()
}
fn on_ping(mut client vd.Client, evt &vd.MessageCreate) {
if evt.content == '!ping' {
client.channel_message_send(evt.channel_id, content: 'pong!') or { }
}
}
More examples
How to install
discord.v
apt install libssl-dev
Only way to run it on Windows is to use WSL (or install
openssl
headers somehow)
Install via vpm
v install Terisback.discordv
Install via git
git clone https://github.com/Terisback/discord.v.git ~/.vmodules/terisback/discordv
And then import
terisback.discordv
TODO()
First milestone
- Connect to gateway
- Handle heartbeat
- Event system (pub/sub)
- REST for sending messages
-
Implement
multipart/form-data
for file sending -
Do usual
application/json
for sending without binary data -
Handle Gateway events
- Audit Log
- Channel
- Emoji
- Guild
- Invite
- User
- Voice
- Webhook
- Slash Command
- Create examples (3/4)
- Documentation
Second milestone
-
Handle REST
- Audit Log
- Channel
- Emoji
- Guild
- Invite
- User
- Voice
- Webhook
- Slash Command
- Observe rate limits (thanks to @div72)
- Slash Commands
- Fancy log
- Command router
- Think about tests
Third milestone (till V v0.3)
- Translate dispatch to generics (not sure about that)
- Build cache ontop map's (memcache, redis in future)
The Main one
- Make a cool library
Contact
Feel free to contribute ;)
You can contact me at discord: TERISBACK#9125