Discordnim Save

Discord library for nim

Project README

Discordnim

A Discord library for Nim.

Websockets from niv/websocket.nim

Installing

This assumes that you have your Nim environment (including Nimble) already set up, and that your Nim version is 1.0.4 or greater. You can check your version with nim --version

nim -v
Nim Compiler Version 1.1.1 [Linux: amd64]
Compiled at 2020-01-08
Copyright (c) 2006-2019 by Andreas Rumpf

active boot switches: -d:release

nimble install discordnim

Usage

There are some examples in the examples folder.

Initialising a Shard:

when isMainModule:
    import asyncdispatch, discordnim, ospaths

    proc messageCreate(s: Shard, m: MessageCreate) =
        if s.cache.me.id == m.author.id: return
        if m.content == "ping":
            asyncCheck s.channelMessageSend(m.channel_id, "pong")

    let d = newShard("Bot " & getEnv("token")) // get token in environment variables

    proc endSession() {.noconv.} =
        waitFor d.disconnect()

    setControlCHook(endSession)
    d.compress = true
    let removeProc = d.addHandler(EventType.message_create, messageCreate)
    waitFor d.startSession()
    removeProc()

All programs have to be compiled with the -d:ssl flag.

Example :

nimble build -d:ssl

OR

nim compile -d:ssl --run youfile.nim

When compression is enabled you need a zlib1.dll present. Somewhere. I don't know where it should be placed.

Documentation

Contributing

  1. Fork it ( https://github.com/Krognol/discordnim/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request
Open Source Agenda is not affiliated with "Discordnim" Project. README Source: Krognol/discordnim
Stars
61
Open Issues
6
Last Commit
3 years ago
Repository
License
MIT

Open Source Agenda Badge

Open Source Agenda Rating