All Projects → Terisback → discord.v

Terisback / discord.v

Licence: MIT License
Discord Bot Framework written in V

Programming Languages

V
68 projects

Projects that are alternatives of or similar to discord.v

minesweeper-v
Minesweeper Written in Vlang
Stars: ✭ 19 (-77.11%)
Mutual labels:  v, vlang
jni
V wrapper around the C Java Native Interface
Stars: ✭ 15 (-81.93%)
Mutual labels:  v, vlang
vave
🌊 A crazy simple library for reading/writing WAV files in V. Zero dependencies, 100% cross-platform.
Stars: ✭ 35 (-57.83%)
Mutual labels:  v, vlang
termtable
Simple and highly customizable library to display tables in the terminal.
Stars: ✭ 41 (-50.6%)
Mutual labels:  v, vlang
v-mode
🌻 An Emacs major mode for the V programming language.
Stars: ✭ 49 (-40.96%)
Mutual labels:  v, vlang
vbf
A brainfuck interpreter/compiler written in V.
Stars: ✭ 17 (-79.52%)
Mutual labels:  v, vlang
vinix
Vinix is an effort to write a modern, fast, and useful operating system in the V programming language
Stars: ✭ 1,512 (+1721.69%)
Mutual labels:  v, vlang
vast
A simple tool for vlang, generate v source file to AST json file
Stars: ✭ 23 (-72.29%)
Mutual labels:  v, vlang
registry
Package registry for vpkg
Stars: ✭ 13 (-84.34%)
Mutual labels:  v, vlang
v2048
A simple game of 2048, written in V.
Stars: ✭ 19 (-77.11%)
Mutual labels:  v, vlang
kate-syntax-highlight-v
Syntax highlighting of V files for the Kate editor
Stars: ✭ 17 (-79.52%)
Mutual labels:  v, vlang
boundstone
High Performance / Fast Compilation / Lightweight MCBE Server
Stars: ✭ 42 (-49.4%)
Mutual labels:  v, vlang
vargs
Simple argument parsing library for V.
Stars: ✭ 36 (-56.63%)
Mutual labels:  v, vlang
vredis
Redis client for V, written in V
Stars: ✭ 43 (-48.19%)
Mutual labels:  v, vlang
Glass
Gui Library written in Crystal
Stars: ✭ 24 (-71.08%)
Mutual labels:  wip
ronin-exploits
A Ruby micro-framework for writing and running exploits
Stars: ✭ 36 (-56.63%)
Mutual labels:  wip
tnt
A 2d Game Engine written in C++20.
Stars: ✭ 30 (-63.86%)
Mutual labels:  wip
py2v
A Python to V transpiler.
Stars: ✭ 47 (-43.37%)
Mutual labels:  v
layout
Graph layouting package
Stars: ✭ 19 (-77.11%)
Mutual labels:  wip
boxx
📦 Create highly customizable terminal boxes that also look great!
Stars: ✭ 80 (-3.61%)
Mutual labels:  v

discord.v

Yet another feature-rich Discord Bot Framework written in V (WIP)

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 uses openssl, be sure it is installed 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 wherever you like

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].