Giter Club home page Giter Club logo

discordnim's People

Contributors

cipharius avatar juancarlospaco avatar krognol avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

discordnim's Issues

Error: undeclared field: 'reqPing'

Trying to run any of the examples (including the snippet in the README.md) results in this error:

~\.nimble\pkgs\discord-1.5.0\websocket\shared.nim(151, 49) template/generic instantiation from here
~\.nimble\pkgs\discord-1.5.0\websocket\shared.nim(180, 14) Error: undeclared field: 'reqPing'

Nim version used (nim -v):

Nim Compiler Version 0.17.0 (2017-05-18) [Windows: amd64]
Copyright (c) 2006-2017 by Andreas Rumpf

git hash: d3f0f87e81e262ee25fd528aae5b6db0bdf78d5e
active boot switches: -d:release

s.channelMessageSend doesn't work for me

Hello,
I've tried a program of mine, and some of the examples, but I can't get s.channelMessageSend to work...
The program doesn't crash, it just does nothing. :/
I'm under the latest version of nim (Nim Compiler Version 0.18.0 [Linux: amd64]) and the latest version of discordnim too.

(I'm using a Manjaro 18.0)

Thanks for your advice ~

Error while waiting for websocket data

Just freshly installed Nim on Android (Termux) entirely my first time using Nim without experience, got the project to install and build but when running it the bot gets online and won't respond, after a while(probably fails to send a heartbeat) the program crashes with

~/nimbot ๎‚ฐ ./main

Encountered an error while waiting for websocket data
socket closed
Async traceback:
  /data/data/com.termux/files/home/nimbot/main.nim(17)                                    main
  /data/data/com.termux/files/usr/lib/nim/lib/pure/asyncdispatch.nim(1892)                waitFor
  /data/data/com.termux/files/usr/lib/nim/lib/pure/asyncdispatch.nim(1582)                poll
  /data/data/com.termux/files/usr/lib/nim/lib/pure/asyncdispatch.nim(1346)                runOnce
  /data/data/com.termux/files/usr/lib/nim/lib/pure/asyncdispatch.nim(210)                 processPendingCallbacks
  /data/data/com.termux/files/usr/lib/nim/lib/pure/asyncmacro.nim(34)                     recvFrameNimAsyncContinue
  /data/data/com.termux/files/home/.nimble/pkgs/websocket-0.5.0/websocket/shared.nim(174) recvFrameIter
  /data/data/com.termux/files/home/.nimble/pkgs/websocket-0.5.0/websocket/shared.nim(160) raiseReadException
  #[
    /data/data/com.termux/files/home/nimbot/main.nim(17)                                    main
    /data/data/com.termux/files/usr/lib/nim/lib/pure/asyncdispatch.nim(1892)                waitFor
    /data/data/com.termux/files/usr/lib/nim/lib/pure/asyncdispatch.nim(1582)                poll
    /data/data/com.termux/files/usr/lib/nim/lib/pure/asyncdispatch.nim(1346)                runOnce
    /data/data/com.termux/files/usr/lib/nim/lib/pure/asyncdispatch.nim(210)                 processPendingCallbacks
    /data/data/com.termux/files/usr/lib/nim/lib/pure/asyncmacro.nim(34)                     readDataNimAsyncContinue
    /data/data/com.termux/files/home/.nimble/pkgs/websocket-0.5.0/websocket/shared.nim(272) readDataIter
    /data/data/com.termux/files/usr/lib/nim/lib/pure/asyncfutures.nim(383)                  read
  ]#
Exception message: socket closed
Exception type:
connection closed
code: Cont
data:

Any ideas?

While installing and building it there were also a lot of deprecated warnings, is this outdated?

Async read error

When I run a lot of the examples I'm getting this kind of read error with a super long traceback.

I don't think any of them crashed like this the first time, but after being run a second or third time on the same discord server.

Traceback (most recent call last)
basic_bot.nim(22)        basic_bot
asyncdispatch.nim(1000)  waitFor
asyncdispatch.nim(1035)  poll
asyncdispatch.nim(180)   processPendingCallbacks
asyncmacro.nim(34)       cbTraceback (most recent call last)
basic_bot.nim(22)        basic_bot
asyncdispatch.nim(1000)  waitFor
asyncdispatch.nim(1035)  poll
asyncdispatch.nim(180)   processPendingCallbacks
asyncmacro.nim(34)       cb
asyncmacro.nim(334)      recvLineIter
asyncfutures.nim(109)    complete
asyncmacro.nim(34)       cb
asyncmacro.nim(334)      newAsyncWebsocketIter
asyncfutures.nim(109)    complete
asyncmacro.nim(34)       cb
asyncdispatch.nim(1000)  SessionStartIter
asyncdispatch.nim(991)   poll
asyncdispatch.nim(1058)  cb
asyncfutures.nim(109)    complete
asyncmacro.nim(34)       cb
asyncmacro.nim(334)      appeaseSslIter
asyncfutures.nim(109)    complete
asyncmacro.nim(34)       cb
asyncnet.nim(388)        recvIter
system.nim(2662)         sysFatal
[[reraised from:
basic_bot.nim(22)        basic_bot
asyncdispatch.nim(1000)  waitFor
asyncdispatch.nim(1035)  poll
asyncdispatch.nim(180)   processPendingCallbacks
asyncmacro.nim(34)       cb
asyncmacro.nim(334)      recvLineIter
asyncfutures.nim(109)    complete
asyncmacro.nim(34)       cb
asyncmacro.nim(334)      newAsyncWebsocketIter
asyncfutures.nim(109)    complete
asyncmacro.nim(34)       cb
asyncdispatch.nim(1000)  SessionStartIter
asyncdispatch.nim(991)   poll
asyncdispatch.nim(1058)  cb
asyncfutures.nim(109)    complete
asyncmacro.nim(34)       cb
asyncmacro.nim(334)      appeaseSslIter
asyncfutures.nim(109)    complete
asyncmacro.nim(50)       cb
asyncfutures.nim(156)    fail
asyncmacro.nim(34)       cb
asyncmacro.nim           recvFrameIter
asyncfutures.nim(220)    read
]]
[[reraised from:
basic_bot.nim(22)        basic_bot
asyncdispatch.nim(1000)  waitFor
asyncdispatch.nim(1035)  poll
asyncdispatch.nim(180)   processPendingCallbacks
asyncmacro.nim(34)       cb
asyncmacro.nim(334)      recvLineIter
asyncfutures.nim(109)    complete
asyncmacro.nim(34)       cb
asyncmacro.nim(334)      newAsyncWebsocketIter
asyncfutures.nim(109)    complete
asyncmacro.nim(34)       cb
asyncdispatch.nim(1000)  SessionStartIter
asyncdispatch.nim(991)   poll
asyncdispatch.nim(1058)  cb
asyncfutures.nim(109)    complete
asyncmacro.nim(34)       cb
asyncmacro.nim(334)      appeaseSslIter
asyncfutures.nim(109)    complete
asyncmacro.nim(50)       cb
asyncfutures.nim(156)    fail
asyncmacro.nim(50)       cb
asyncfutures.nim(156)    fail
asyncmacro.nim(34)       cb
shared.nim(322)          readDataIter
asyncfutures.nim(220)    read
]]
[[reraised from:
basic_bot.nim(22)        basic_bot
asyncdispatch.nim(1000)  waitFor
asyncdispatch.nim(1035)  poll
asyncdispatch.nim(180)   processPendingCallbacks
asyncmacro.nim(34)       cb
asyncmacro.nim(334)      recvLineIter
asyncfutures.nim(109)    complete
asyncmacro.nim(34)       cb
asyncmacro.nim(334)      newAsyncWebsocketIter
asyncfutures.nim(109)    complete
asyncmacro.nim(34)       cb
asyncdispatch.nim(1000)  SessionStartIter
asyncdispatch.nim(991)   poll
asyncdispatch.nim(1058)  cb
asyncfutures.nim(109)    complete
asyncmacro.nim(34)       cb
asyncmacro.nim(334)      appeaseSslIter
asyncfutures.nim(109)    complete
asyncmacro.nim(50)       cb
asyncfutures.nim(156)    fail
asyncmacro.nim(50)       cb
asyncfutures.nim(156)    fail
asyncmacro.nim(50)       cb
asyncfutures.nim(156)    fail
asyncmacro.nim(34)       cb
discordnim.nim(353)      sessionHandleSocketMessageIter
asyncfutures.nim(220)    read
]]
[[reraised from:
basic_bot.nim(22)        basic_bot
asyncdispatch.nim(1000)  waitFor
asyncdispatch.nim(1035)  poll
asyncdispatch.nim(180)   processPendingCallbacks
asyncmacro.nim(34)       cb
asyncmacro.nim(334)      recvLineIter
asyncfutures.nim(109)    complete
asyncmacro.nim(34)       cb
asyncmacro.nim(334)      newAsyncWebsocketIter
asyncfutures.nim(109)    complete
asyncmacro.nim(34)       cb
asyncdispatch.nim(1000)  SessionStartIter
asyncdispatch.nim(991)   poll
asyncdispatch.nim(1058)  cb
asyncfutures.nim(109)    complete
asyncmacro.nim(34)       cb
asyncmacro.nim(334)      appeaseSslIter
asyncfutures.nim(109)    complete
asyncmacro.nim(50)       cb
asyncfutures.nim(156)    fail
asyncmacro.nim(50)       cb
asyncfutures.nim(156)    fail
asyncmacro.nim(50)       cb
asyncfutures.nim(156)    fail
asyncmacro.nim(50)       cb
asyncfutures.nim(156)    fail
asyncfutures.nim(322)    :anonymous
]]
[[reraised from:
basic_bot.nim(22)        basic_bot
asyncdispatch.nim(1345)  waitFor
asyncfutures.nim(220)    read
]]
Error: unhandled exception: value out of range: -1
  recv's lead up to read of failed Future:
    Traceback (most recent call last)
    basic_bot.nim(22)        basic_bot
    asyncdispatch.nim(1000)  waitFor
    asyncdispatch.nim(1035)  poll
    asyncdispatch.nim(180)   processPendingCallbacks
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      recvLineIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      newAsyncWebsocketIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncdispatch.nim(1000)  SessionStartIter
    asyncdispatch.nim(991)   poll
    asyncdispatch.nim(1058)  cb
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      appeaseSslIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncnet.nim(388)        recvIter
    system.nim(2662)         sysFatal
  recvFrame's lead up to read of failed Future:
    Traceback (most recent call last)
    basic_bot.nim(22)        basic_bot
    asyncdispatch.nim(1000)  waitFor
    asyncdispatch.nim(1035)  poll
    asyncdispatch.nim(180)   processPendingCallbacks
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      recvLineIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      newAsyncWebsocketIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncdispatch.nim(1000)  SessionStartIter
    asyncdispatch.nim(991)   poll
    asyncdispatch.nim(1058)  cb
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      appeaseSslIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncnet.nim(388)        recvIter
    system.nim(2662)         sysFatal
    [[reraised from:
    basic_bot.nim(22)        basic_bot
    asyncdispatch.nim(1000)  waitFor
    asyncdispatch.nim(1035)  poll
    asyncdispatch.nim(180)   processPendingCallbacks
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      recvLineIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      newAsyncWebsocketIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncdispatch.nim(1000)  SessionStartIter
    asyncdispatch.nim(991)   poll
    asyncdispatch.nim(1058)  cb
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      appeaseSslIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(50)       cb
    asyncfutures.nim(156)    fail
    asyncmacro.nim(34)       cb
    asyncmacro.nim           recvFrameIter
    asyncfutures.nim(220)    read
    ]]
  readData's lead up to read of failed Future:
    Traceback (most recent call last)
    basic_bot.nim(22)        basic_bot
    asyncdispatch.nim(1000)  waitFor
    asyncdispatch.nim(1035)  poll
    asyncdispatch.nim(180)   processPendingCallbacks
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      recvLineIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      newAsyncWebsocketIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncdispatch.nim(1000)  SessionStartIter
    asyncdispatch.nim(991)   poll
    asyncdispatch.nim(1058)  cb
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      appeaseSslIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncnet.nim(388)        recvIter
    system.nim(2662)         sysFatal
    [[reraised from:
    basic_bot.nim(22)        basic_bot
    asyncdispatch.nim(1000)  waitFor
    asyncdispatch.nim(1035)  poll
    asyncdispatch.nim(180)   processPendingCallbacks
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      recvLineIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      newAsyncWebsocketIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncdispatch.nim(1000)  SessionStartIter
    asyncdispatch.nim(991)   poll
    asyncdispatch.nim(1058)  cb
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      appeaseSslIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(50)       cb
    asyncfutures.nim(156)    fail
    asyncmacro.nim(34)       cb
    asyncmacro.nim           recvFrameIter
    asyncfutures.nim(220)    read
    ]]
    [[reraised from:
    basic_bot.nim(22)        basic_bot
    asyncdispatch.nim(1000)  waitFor
    asyncdispatch.nim(1035)  poll
    asyncdispatch.nim(180)   processPendingCallbacks
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      recvLineIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      newAsyncWebsocketIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncdispatch.nim(1000)  SessionStartIter
    asyncdispatch.nim(991)   poll
    asyncdispatch.nim(1058)  cb
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      appeaseSslIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(50)       cb
    asyncfutures.nim(156)    fail
    asyncmacro.nim(50)       cb
    asyncfutures.nim(156)    fail
    asyncmacro.nim(34)       cb
    shared.nim(322)          readDataIter
    asyncfutures.nim(220)    read
    ]]
  sessionHandleSocketMessage's lead up to read of failed Future:
    Traceback (most recent call last)
    basic_bot.nim(22)        basic_bot
    asyncdispatch.nim(1000)  waitFor
    asyncdispatch.nim(1035)  poll
    asyncdispatch.nim(180)   processPendingCallbacks
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      recvLineIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      newAsyncWebsocketIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncdispatch.nim(1000)  SessionStartIter
    asyncdispatch.nim(991)   poll
    asyncdispatch.nim(1058)  cb
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      appeaseSslIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncnet.nim(388)        recvIter
    system.nim(2662)         sysFatal
    [[reraised from:
    basic_bot.nim(22)        basic_bot
    asyncdispatch.nim(1000)  waitFor
    asyncdispatch.nim(1035)  poll
    asyncdispatch.nim(180)   processPendingCallbacks
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      recvLineIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      newAsyncWebsocketIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncdispatch.nim(1000)  SessionStartIter
    asyncdispatch.nim(991)   poll
    asyncdispatch.nim(1058)  cb
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      appeaseSslIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(50)       cb
    asyncfutures.nim(156)    fail
    asyncmacro.nim(34)       cb
    asyncmacro.nim           recvFrameIter
    asyncfutures.nim(220)    read
    ]]
    [[reraised from:
    basic_bot.nim(22)        basic_bot
    asyncdispatch.nim(1000)  waitFor
    asyncdispatch.nim(1035)  poll
    asyncdispatch.nim(180)   processPendingCallbacks
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      recvLineIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      newAsyncWebsocketIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncdispatch.nim(1000)  SessionStartIter
    asyncdispatch.nim(991)   poll
    asyncdispatch.nim(1058)  cb
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      appeaseSslIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(50)       cb
    asyncfutures.nim(156)    fail
    asyncmacro.nim(50)       cb
    asyncfutures.nim(156)    fail
    asyncmacro.nim(34)       cb
    shared.nim(322)          readDataIter
    asyncfutures.nim(220)    read
    ]]
    [[reraised from:
    basic_bot.nim(22)        basic_bot
    asyncdispatch.nim(1000)  waitFor
    asyncdispatch.nim(1035)  poll
    asyncdispatch.nim(180)   processPendingCallbacks
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      recvLineIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      newAsyncWebsocketIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncdispatch.nim(1000)  SessionStartIter
    asyncdispatch.nim(991)   poll
    asyncdispatch.nim(1058)  cb
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      appeaseSslIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(50)       cb
    asyncfutures.nim(156)    fail
    asyncmacro.nim(50)       cb
    asyncfutures.nim(156)    fail
    asyncmacro.nim(50)       cb
    asyncfutures.nim(156)    fail
    asyncmacro.nim(34)       cb
    discordnim.nim(353)      sessionHandleSocketMessageIter
    asyncfutures.nim(220)    read
    ]]
  SessionStart's lead up to read of failed Future:
    Traceback (most recent call last)
    basic_bot.nim(22)        basic_bot
    asyncdispatch.nim(1000)  waitFor
    asyncdispatch.nim(1035)  poll
    asyncdispatch.nim(180)   processPendingCallbacks
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      recvLineIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      newAsyncWebsocketIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncdispatch.nim(1000)  SessionStartIter
    asyncdispatch.nim(991)   poll
    asyncdispatch.nim(1058)  cb
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      appeaseSslIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncnet.nim(388)        recvIter
    system.nim(2662)         sysFatal
    [[reraised from:
    basic_bot.nim(22)        basic_bot
    asyncdispatch.nim(1000)  waitFor
    asyncdispatch.nim(1035)  poll
    asyncdispatch.nim(180)   processPendingCallbacks
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      recvLineIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      newAsyncWebsocketIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncdispatch.nim(1000)  SessionStartIter
    asyncdispatch.nim(991)   poll
    asyncdispatch.nim(1058)  cb
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      appeaseSslIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(50)       cb
    asyncfutures.nim(156)    fail
    asyncmacro.nim(34)       cb
    asyncmacro.nim           recvFrameIter
    asyncfutures.nim(220)    read
    ]]
    [[reraised from:
    basic_bot.nim(22)        basic_bot
    asyncdispatch.nim(1000)  waitFor
    asyncdispatch.nim(1035)  poll
    asyncdispatch.nim(180)   processPendingCallbacks
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      recvLineIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      newAsyncWebsocketIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncdispatch.nim(1000)  SessionStartIter
    asyncdispatch.nim(991)   poll
    asyncdispatch.nim(1058)  cb
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      appeaseSslIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(50)       cb
    asyncfutures.nim(156)    fail
    asyncmacro.nim(50)       cb
    asyncfutures.nim(156)    fail
    asyncmacro.nim(34)       cb
    shared.nim(322)          readDataIter
    asyncfutures.nim(220)    read
    ]]
    [[reraised from:
    basic_bot.nim(22)        basic_bot
    asyncdispatch.nim(1000)  waitFor
    asyncdispatch.nim(1035)  poll
    asyncdispatch.nim(180)   processPendingCallbacks
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      recvLineIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      newAsyncWebsocketIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncdispatch.nim(1000)  SessionStartIter
    asyncdispatch.nim(991)   poll
    asyncdispatch.nim(1058)  cb
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      appeaseSslIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(50)       cb
    asyncfutures.nim(156)    fail
    asyncmacro.nim(50)       cb
    asyncfutures.nim(156)    fail
    asyncmacro.nim(50)       cb
    asyncfutures.nim(156)    fail
    asyncmacro.nim(34)       cb
    discordnim.nim(353)      sessionHandleSocketMessageIter
    asyncfutures.nim(220)    read
    ]]
    [[reraised from:
    basic_bot.nim(22)        basic_bot
    asyncdispatch.nim(1000)  waitFor
    asyncdispatch.nim(1035)  poll
    asyncdispatch.nim(180)   processPendingCallbacks
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      recvLineIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      newAsyncWebsocketIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncdispatch.nim(1000)  SessionStartIter
    asyncdispatch.nim(991)   poll
    asyncdispatch.nim(1058)  cb
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      appeaseSslIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(50)       cb
    asyncfutures.nim(156)    fail
    asyncmacro.nim(50)       cb
    asyncfutures.nim(156)    fail
    asyncmacro.nim(50)       cb
    asyncfutures.nim(156)    fail
    asyncmacro.nim(50)       cb
    asyncfutures.nim(156)    fail
    asyncfutures.nim(322)    :anonymous
    ]] [RangeError]
 
asyncmacro.nim(334)      recvLineIter
asyncfutures.nim(109)    complete
asyncmacro.nim(34)       cb
asyncmacro.nim(334)      newAsyncWebsocketIter
asyncfutures.nim(109)    complete
asyncmacro.nim(34)       cb
asyncdispatch.nim(1000)  SessionStartIter
asyncdispatch.nim(991)   poll
asyncdispatch.nim(1058)  cb
asyncfutures.nim(109)    complete
asyncmacro.nim(34)       cb
asyncmacro.nim(334)      appeaseSslIter
asyncfutures.nim(109)    complete
asyncmacro.nim(34)       cb
asyncnet.nim(388)        recvIter
system.nim(2662)         sysFatal
[[reraised from:
basic_bot.nim(22)        basic_bot
asyncdispatch.nim(1000)  waitFor
asyncdispatch.nim(1035)  poll
asyncdispatch.nim(180)   processPendingCallbacks
asyncmacro.nim(34)       cb
asyncmacro.nim(334)      recvLineIter
asyncfutures.nim(109)    complete
asyncmacro.nim(34)       cb
asyncmacro.nim(334)      newAsyncWebsocketIter
asyncfutures.nim(109)    complete
asyncmacro.nim(34)       cb
asyncdispatch.nim(1000)  SessionStartIter
asyncdispatch.nim(991)   poll
asyncdispatch.nim(1058)  cb
asyncfutures.nim(109)    complete
asyncmacro.nim(34)       cb
asyncmacro.nim(334)      appeaseSslIter
asyncfutures.nim(109)    complete
asyncmacro.nim(50)       cb
asyncfutures.nim(156)    fail
asyncmacro.nim(34)       cb
asyncmacro.nim           recvFrameIter
asyncfutures.nim(220)    read
]]
[[reraised from:
basic_bot.nim(22)        basic_bot
asyncdispatch.nim(1000)  waitFor
asyncdispatch.nim(1035)  poll
asyncdispatch.nim(180)   processPendingCallbacks
asyncmacro.nim(34)       cb
asyncmacro.nim(334)      recvLineIter
asyncfutures.nim(109)    complete
asyncmacro.nim(34)       cb
asyncmacro.nim(334)      newAsyncWebsocketIter
asyncfutures.nim(109)    complete
asyncmacro.nim(34)       cb
asyncdispatch.nim(1000)  SessionStartIter
asyncdispatch.nim(991)   poll
asyncdispatch.nim(1058)  cb
asyncfutures.nim(109)    complete
asyncmacro.nim(34)       cb
asyncmacro.nim(334)      appeaseSslIter
asyncfutures.nim(109)    complete
asyncmacro.nim(50)       cb
asyncfutures.nim(156)    fail
asyncmacro.nim(50)       cb
asyncfutures.nim(156)    fail
asyncmacro.nim(34)       cb
shared.nim(322)          readDataIter
asyncfutures.nim(220)    read
]]
[[reraised from:
basic_bot.nim(22)        basic_bot
asyncdispatch.nim(1000)  waitFor
asyncdispatch.nim(1035)  poll
asyncdispatch.nim(180)   processPendingCallbacks
asyncmacro.nim(34)       cb
asyncmacro.nim(334)      recvLineIter
asyncfutures.nim(109)    complete
asyncmacro.nim(34)       cb
asyncmacro.nim(334)      newAsyncWebsocketIter
asyncfutures.nim(109)    complete
asyncmacro.nim(34)       cb
asyncdispatch.nim(1000)  SessionStartIter
asyncdispatch.nim(991)   poll
asyncdispatch.nim(1058)  cb
asyncfutures.nim(109)    complete
asyncmacro.nim(34)       cb
asyncmacro.nim(334)      appeaseSslIter
asyncfutures.nim(109)    complete
asyncmacro.nim(50)       cb
asyncfutures.nim(156)    fail
asyncmacro.nim(50)       cb
asyncfutures.nim(156)    fail
asyncmacro.nim(50)       cb
asyncfutures.nim(156)    fail
asyncmacro.nim(34)       cb
discordnim.nim(353)      sessionHandleSocketMessageIter
asyncfutures.nim(220)    read
]]
[[reraised from:
basic_bot.nim(22)        basic_bot
asyncdispatch.nim(1000)  waitFor
asyncdispatch.nim(1035)  poll
asyncdispatch.nim(180)   processPendingCallbacks
asyncmacro.nim(34)       cb
asyncmacro.nim(334)      recvLineIter
asyncfutures.nim(109)    complete
asyncmacro.nim(34)       cb
asyncmacro.nim(334)      newAsyncWebsocketIter
asyncfutures.nim(109)    complete
asyncmacro.nim(34)       cb
asyncdispatch.nim(1000)  SessionStartIter
asyncdispatch.nim(991)   poll
asyncdispatch.nim(1058)  cb
asyncfutures.nim(109)    complete
asyncmacro.nim(34)       cb
asyncmacro.nim(334)      appeaseSslIter
asyncfutures.nim(109)    complete
asyncmacro.nim(50)       cb
asyncfutures.nim(156)    fail
asyncmacro.nim(50)       cb
asyncfutures.nim(156)    fail
asyncmacro.nim(50)       cb
asyncfutures.nim(156)    fail
asyncmacro.nim(50)       cb
asyncfutures.nim(156)    fail
asyncfutures.nim(322)    :anonymous
]]
[[reraised from:
basic_bot.nim(22)        basic_bot
asyncdispatch.nim(1345)  waitFor
asyncfutures.nim(220)    read
]]
Error: unhandled exception: value out of range: -1
  recv's lead up to read of failed Future:
    Traceback (most recent call last)
    basic_bot.nim(22)        basic_bot
    asyncdispatch.nim(1000)  waitFor
    asyncdispatch.nim(1035)  poll
    asyncdispatch.nim(180)   processPendingCallbacks
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      recvLineIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      newAsyncWebsocketIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncdispatch.nim(1000)  SessionStartIter
    asyncdispatch.nim(991)   poll
    asyncdispatch.nim(1058)  cb
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      appeaseSslIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncnet.nim(388)        recvIter
    system.nim(2662)         sysFatal
  recvFrame's lead up to read of failed Future:
    Traceback (most recent call last)
    basic_bot.nim(22)        basic_bot
    asyncdispatch.nim(1000)  waitFor
    asyncdispatch.nim(1035)  poll
    asyncdispatch.nim(180)   processPendingCallbacks
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      recvLineIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      newAsyncWebsocketIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncdispatch.nim(1000)  SessionStartIter
    asyncdispatch.nim(991)   poll
    asyncdispatch.nim(1058)  cb
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      appeaseSslIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncnet.nim(388)        recvIter
    system.nim(2662)         sysFatal
    [[reraised from:
    basic_bot.nim(22)        basic_bot
    asyncdispatch.nim(1000)  waitFor
    asyncdispatch.nim(1035)  poll
    asyncdispatch.nim(180)   processPendingCallbacks
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      recvLineIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      newAsyncWebsocketIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncdispatch.nim(1000)  SessionStartIter
    asyncdispatch.nim(991)   poll
    asyncdispatch.nim(1058)  cb
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      appeaseSslIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(50)       cb
    asyncfutures.nim(156)    fail
    asyncmacro.nim(34)       cb
    asyncmacro.nim           recvFrameIter
    asyncfutures.nim(220)    read
    ]]
  readData's lead up to read of failed Future:
    Traceback (most recent call last)
    basic_bot.nim(22)        basic_bot
    asyncdispatch.nim(1000)  waitFor
    asyncdispatch.nim(1035)  poll
    asyncdispatch.nim(180)   processPendingCallbacks
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      recvLineIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      newAsyncWebsocketIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncdispatch.nim(1000)  SessionStartIter
    asyncdispatch.nim(991)   poll
    asyncdispatch.nim(1058)  cb
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      appeaseSslIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncnet.nim(388)        recvIter
    system.nim(2662)         sysFatal
    [[reraised from:
    basic_bot.nim(22)        basic_bot
    asyncdispatch.nim(1000)  waitFor
    asyncdispatch.nim(1035)  poll
    asyncdispatch.nim(180)   processPendingCallbacks
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      recvLineIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      newAsyncWebsocketIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncdispatch.nim(1000)  SessionStartIter
    asyncdispatch.nim(991)   poll
    asyncdispatch.nim(1058)  cb
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      appeaseSslIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(50)       cb
    asyncfutures.nim(156)    fail
    asyncmacro.nim(34)       cb
    asyncmacro.nim           recvFrameIter
    asyncfutures.nim(220)    read
    ]]
    [[reraised from:
    basic_bot.nim(22)        basic_bot
    asyncdispatch.nim(1000)  waitFor
    asyncdispatch.nim(1035)  poll
    asyncdispatch.nim(180)   processPendingCallbacks
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      recvLineIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      newAsyncWebsocketIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncdispatch.nim(1000)  SessionStartIter
    asyncdispatch.nim(991)   poll
    asyncdispatch.nim(1058)  cb
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      appeaseSslIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(50)       cb
    asyncfutures.nim(156)    fail
    asyncmacro.nim(50)       cb
    asyncfutures.nim(156)    fail
    asyncmacro.nim(34)       cb
    shared.nim(322)          readDataIter
    asyncfutures.nim(220)    read
    ]]
  sessionHandleSocketMessage's lead up to read of failed Future:
    Traceback (most recent call last)
    basic_bot.nim(22)        basic_bot
    asyncdispatch.nim(1000)  waitFor
    asyncdispatch.nim(1035)  poll
    asyncdispatch.nim(180)   processPendingCallbacks
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      recvLineIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      newAsyncWebsocketIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncdispatch.nim(1000)  SessionStartIter
    asyncdispatch.nim(991)   poll
    asyncdispatch.nim(1058)  cb
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      appeaseSslIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncnet.nim(388)        recvIter
    system.nim(2662)         sysFatal
    [[reraised from:
    basic_bot.nim(22)        basic_bot
    asyncdispatch.nim(1000)  waitFor
    asyncdispatch.nim(1035)  poll
    asyncdispatch.nim(180)   processPendingCallbacks
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      recvLineIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      newAsyncWebsocketIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncdispatch.nim(1000)  SessionStartIter
    asyncdispatch.nim(991)   poll
    asyncdispatch.nim(1058)  cb
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      appeaseSslIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(50)       cb
    asyncfutures.nim(156)    fail
    asyncmacro.nim(34)       cb
    asyncmacro.nim           recvFrameIter
    asyncfutures.nim(220)    read
    ]]
    [[reraised from:
    basic_bot.nim(22)        basic_bot
    asyncdispatch.nim(1000)  waitFor
    asyncdispatch.nim(1035)  poll
    asyncdispatch.nim(180)   processPendingCallbacks
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      recvLineIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      newAsyncWebsocketIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncdispatch.nim(1000)  SessionStartIter
    asyncdispatch.nim(991)   poll
    asyncdispatch.nim(1058)  cb
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      appeaseSslIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(50)       cb
    asyncfutures.nim(156)    fail
    asyncmacro.nim(50)       cb
    asyncfutures.nim(156)    fail
    asyncmacro.nim(34)       cb
    shared.nim(322)          readDataIter
    asyncfutures.nim(220)    read
    ]]
    [[reraised from:
    basic_bot.nim(22)        basic_bot
    asyncdispatch.nim(1000)  waitFor
    asyncdispatch.nim(1035)  poll
    asyncdispatch.nim(180)   processPendingCallbacks
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      recvLineIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      newAsyncWebsocketIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncdispatch.nim(1000)  SessionStartIter
    asyncdispatch.nim(991)   poll
    asyncdispatch.nim(1058)  cb
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      appeaseSslIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(50)       cb
    asyncfutures.nim(156)    fail
    asyncmacro.nim(50)       cb
    asyncfutures.nim(156)    fail
    asyncmacro.nim(50)       cb
    asyncfutures.nim(156)    fail
    asyncmacro.nim(34)       cb
    discordnim.nim(353)      sessionHandleSocketMessageIter
    asyncfutures.nim(220)    read
    ]]
  SessionStart's lead up to read of failed Future:
    Traceback (most recent call last)
    basic_bot.nim(22)        basic_bot
    asyncdispatch.nim(1000)  waitFor
    asyncdispatch.nim(1035)  poll
    asyncdispatch.nim(180)   processPendingCallbacks
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      recvLineIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      newAsyncWebsocketIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncdispatch.nim(1000)  SessionStartIter
    asyncdispatch.nim(991)   poll
    asyncdispatch.nim(1058)  cb
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      appeaseSslIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncnet.nim(388)        recvIter
    system.nim(2662)         sysFatal
    [[reraised from:
    basic_bot.nim(22)        basic_bot
    asyncdispatch.nim(1000)  waitFor
    asyncdispatch.nim(1035)  poll
    asyncdispatch.nim(180)   processPendingCallbacks
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      recvLineIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      newAsyncWebsocketIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncdispatch.nim(1000)  SessionStartIter
    asyncdispatch.nim(991)   poll
    asyncdispatch.nim(1058)  cb
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      appeaseSslIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(50)       cb
    asyncfutures.nim(156)    fail
    asyncmacro.nim(34)       cb
    asyncmacro.nim           recvFrameIter
    asyncfutures.nim(220)    read
    ]]
    [[reraised from:
    basic_bot.nim(22)        basic_bot
    asyncdispatch.nim(1000)  waitFor
    asyncdispatch.nim(1035)  poll
    asyncdispatch.nim(180)   processPendingCallbacks
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      recvLineIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      newAsyncWebsocketIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncdispatch.nim(1000)  SessionStartIter
    asyncdispatch.nim(991)   poll
    asyncdispatch.nim(1058)  cb
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      appeaseSslIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(50)       cb
    asyncfutures.nim(156)    fail
    asyncmacro.nim(50)       cb
    asyncfutures.nim(156)    fail
    asyncmacro.nim(34)       cb
    shared.nim(322)          readDataIter
    asyncfutures.nim(220)    read
    ]]
    [[reraised from:
    basic_bot.nim(22)        basic_bot
    asyncdispatch.nim(1000)  waitFor
    asyncdispatch.nim(1035)  poll
    asyncdispatch.nim(180)   processPendingCallbacks
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      recvLineIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      newAsyncWebsocketIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncdispatch.nim(1000)  SessionStartIter
    asyncdispatch.nim(991)   poll
    asyncdispatch.nim(1058)  cb
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      appeaseSslIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(50)       cb
    asyncfutures.nim(156)    fail
    asyncmacro.nim(50)       cb
    asyncfutures.nim(156)    fail
    asyncmacro.nim(50)       cb
    asyncfutures.nim(156)    fail
    asyncmacro.nim(34)       cb
    discordnim.nim(353)      sessionHandleSocketMessageIter
    asyncfutures.nim(220)    read
    ]]
    [[reraised from:
    basic_bot.nim(22)        basic_bot
    asyncdispatch.nim(1000)  waitFor
    asyncdispatch.nim(1035)  poll
    asyncdispatch.nim(180)   processPendingCallbacks
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      recvLineIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      newAsyncWebsocketIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncdispatch.nim(1000)  SessionStartIter
    asyncdispatch.nim(991)   poll
    asyncdispatch.nim(1058)  cb
    asyncfutures.nim(109)    complete
    asyncmacro.nim(34)       cb
    asyncmacro.nim(334)      appeaseSslIter
    asyncfutures.nim(109)    complete
    asyncmacro.nim(50)       cb
    asyncfutures.nim(156)    fail
    asyncmacro.nim(50)       cb
    asyncfutures.nim(156)    fail
    asyncmacro.nim(50)       cb
    asyncfutures.nim(156)    fail
    asyncmacro.nim(50)       cb
    asyncfutures.nim(156)    fail
    asyncfutures.nim(322)    :anonymous
    ]] [RangeError]

Error: type mismatch: got <seq[pointer], nil>

Got this error when trying to compile the basic_bot.nim in the examples folder.

..\..\..\.nimble\pkgs\discord-2.1.0\src\discordobjects.nim(649, 26) Error: type mismatch: got <seq[pointer], nil>
but expected one of:
proc `==`(a, b: Snowflake): bool
  first type mismatch at position: 1
  required type: Snowflake
  but expression 'd.handlers[t]' is of type: seq[pointer]
proc `==`(a: Snowflake; b: string): bool
  first type mismatch at position: 1
  required type: Snowflake
  but expression 'd.handlers[t]' is of type: seq[pointer]
proc `==`(a: string; b: Snowflake): bool
  first type mismatch at position: 1
  required type: string
  but expression 'd.handlers[t]' is of type: seq[pointer]
proc `==`(x, y: pointer): bool
  first type mismatch at position: 1
  required type: pointer
  but expression 'd.handlers[t]' is of type: seq[pointer]
proc `==`(x, y: char): bool
  first type mismatch at position: 1
  required type: char
  but expression 'd.handlers[t]' is of type: seq[pointer]
proc `==`(x, y: int8): bool
  first type mismatch at position: 1
  required type: int8
  but expression 'd.handlers[t]' is of type: seq[pointer]
proc `==`(a, b: HttpCode): bool
  first type mismatch at position: 1
  required type: HttpCode
  but expression 'd.handlers[t]' is of type: seq[pointer]
proc `==`(x, y: string): bool
  first type mismatch at position: 1
  required type: string
  but expression 'd.handlers[t]' is of type: seq[pointer]
proc `==`(zone1, zone2: Timezone): bool
  first type mismatch at position: 1
  required type: Timezone
  but expression 'd.handlers[t]' is of type: seq[pointer]
proc `==`[I, T](x, y: array[I, T]): bool
  first type mismatch at position: 1
  required type: array[I, T]
  but expression 'd.handlers[t]' is of type: seq[pointer]
proc `==`(a, b: Time): bool
  first type mismatch at position: 1
  required type: Time
  but expression 'd.handlers[t]' is of type: seq[pointer]
proc `==`[T: proc](x, y: T): bool
  first type mismatch at position: 1
  required type: T: proc
  but expression 'd.handlers[t]' is of type: seq[pointer]
proc `==`[T](x, y: ref T): bool
  first type mismatch at position: 1
  required type: ref T
  but expression 'd.handlers[t]' is of type: seq[pointer]
proc `==`(a, b: JsonNode): bool
  first type mismatch at position: 1
  required type: JsonNode
  but expression 'd.handlers[t]' is of type: seq[pointer]
proc `==`(rawCode: string; code: HttpCode): bool
  first type mismatch at position: 1
  required type: string
  but expression 'd.handlers[t]' is of type: seq[pointer]
proc `==`(x, y: int16): bool
  first type mismatch at position: 1
  required type: int16
  but expression 'd.handlers[t]' is of type: seq[pointer]
proc `==`(x, y: float32): bool
  first type mismatch at position: 1
  required type: float32
  but expression 'd.handlers[t]' is of type: seq[pointer]
proc `==`[A, B](s, t: OrderedTableRef[A, B]): bool
  first type mismatch at position: 1
  required type: OrderedTableRef[==.A, ==.B]
  but expression 'd.handlers[t]' is of type: seq[pointer]
proc `==`(x, y: float): bool
  first type mismatch at position: 1
  required type: float
  but expression 'd.handlers[t]' is of type: seq[pointer]
proc `==`[T](x, y: ptr T): bool
  first type mismatch at position: 1
  required type: ptr T
  but expression 'd.handlers[t]' is of type: seq[pointer]
proc `==`[A, B](s, t: TableRef[A, B]): bool
  first type mismatch at position: 1
  required type: TableRef[==.A, ==.B]
  but expression 'd.handlers[t]' is of type: seq[pointer]
proc `==`(a, b: DateTime): bool
  first type mismatch at position: 1
  required type: DateTime
  but expression 'd.handlers[t]' is of type: seq[pointer]
proc `==`[A, B](s, t: Table[A, B]): bool
  first type mismatch at position: 1
  required type: Table[==.A, ==.B]
  but expression 'd.handlers[t]' is of type: seq[pointer]
proc `==`(x, y: int64): bool
  first type mismatch at position: 1
  required type: int64
  but expression 'd.handlers[t]' is of type: seq[pointer]
proc `==`(x, y: cstring): bool
  first type mismatch at position: 1
  required type: cstring
  but expression 'd.handlers[t]' is of type: seq[pointer]
proc `==`(x, y: int32): bool
  first type mismatch at position: 1
  required type: int32
  but expression 'd.handlers[t]' is of type: seq[pointer]
proc `==`(x, y: int): bool
  first type mismatch at position: 1
  required type: int
  but expression 'd.handlers[t]' is of type: seq[pointer]
proc `==`[T: tuple |
    object](x, y: T): bool
  first type mismatch at position: 1
  required type: T: tuple or object
  but expression 'd.handlers[t]' is of type: seq[pointer]
proc `==`[A, B](s, t: OrderedTable[A, B]): bool
  first type mismatch at position: 1
  required type: OrderedTable[==.A, ==.B]
  but expression 'd.handlers[t]' is of type: seq[pointer]
proc `==`[T](x, y: openArray[T]): bool
  first type mismatch at position: 2
  required type: openarray[T]
  but expression 'nil' is of type: nil
proc `==`[Enum: enum](x, y: Enum): bool
  first type mismatch at position: 1
  required type: Enum: enum
  but expression 'd.handlers[t]' is of type: seq[pointer]
proc `==`(a, b: Duration): bool
  first type mismatch at position: 1
  required type: Duration
  but expression 'd.handlers[t]' is of type: seq[pointer]
proc `==`[T](x, y: seq[T]): bool
  first type mismatch at position: 2
  required type: seq[T]
  but expression 'nil' is of type: nil
proc `==`(x, y: bool): bool
  first type mismatch at position: 1
  required type: bool
  but expression 'd.handlers[t]' is of type: seq[pointer]
proc `==`[A](s, t: CountTableRef[A]): bool
  first type mismatch at position: 1
  required type: CountTableRef[==.A]
  but expression 'd.handlers[t]' is of type: seq[pointer]
proc `==`(protocol: tuple[orig: string, major, minor: int]; ver: HttpVersion): bool
  first type mismatch at position: 1
  required type: tuple[orig: string, major: int, minor: int]
  but expression 'd.handlers[t]' is of type: seq[pointer]
proc `==`[A](s, t: CountTable[A]): bool
  first type mismatch at position: 1
  required type: CountTable[==.A]
  but expression 'd.handlers[t]' is of type: seq[pointer]
proc `==`[T](x, y: set[T]): bool
  first type mismatch at position: 1
  required type: set[T]
  but expression 'd.handlers[t]' is of type: seq[pointer]
proc `==`(x: type(nil); y: string): bool
  first type mismatch at position: 1
  required type: nil
  but expression 'd.handlers[t]' is of type: seq[pointer]
proc `==`[T: SomeUnsignedInt](x, y: T): bool
  first type mismatch at position: 1
  required type: T: SomeUnsignedInt
  but expression 'd.handlers[t]' is of type: seq[pointer]
proc `==`(x: string; y: type(nil)): bool
  first type mismatch at position: 1
  required type: string
  but expression 'd.handlers[t]' is of type: seq[pointer]
proc `==`(x: AsyncFD; y: AsyncFD): bool
  first type mismatch at position: 1
  required type: AsyncFD
  but expression 'd.handlers[t]' is of type: seq[pointer]
proc `==`(a, b: NimIdent): bool
  first type mismatch at position: 1
  required type: NimIdent
  but expression 'd.handlers[t]' is of type: seq[pointer]
proc `==`(a, b: NimSym): bool
  first type mismatch at position: 1
  required type: NimSym
  but expression 'd.handlers[t]' is of type: seq[pointer]
proc `==`(a, b: NimNode): bool
  first type mismatch at position: 1
  required type: NimNode
  but expression 'd.handlers[t]' is of type: seq[pointer]

expression: d.handlers[t] == nil

My nim -v:

Nim Compiler Version 0.19.0 [Windows: amd64]
Compiled at 2018-09-26
Copyright (c) 2006-2018 by Andreas Rumpf

git hash: f6c5c636bb1a1f4e1301ae0ba5a8afecef439132
active boot switches: -d:release

Quick question about creating my own Nim Discord library

Hi! I started creating my own discord library in nim, mainly for learning. I just wanted to check if you're okay with that, and to see if you'd be cool with me publishing it if I ever get it working. I didn't see any contact info, so I figured I'd open an issue just to check to be safe :)

Investigate "read of failed future" error

After being connected for a couple of hours you might get an error when you receive a new event with the error

value out of range: -1
  recv's lead up to read of failed Future:
    ... some stack trace ...

I haven't been able to find the cause of it, and I'm unsure why it happens in the first place.

The payload from receiving will still be there and you can look at it, but trying to read further will just end up in an infinite loop with the same payload.

Doesn't compile with nim 0.18.0

I use 0.18.0 and I grabbed the current version of the dependencies, but it seems that it's a problem with the updated async library in nim itself, is there a chance to update this library?

Exception: key not found: username

When trying the basic_bot example, I get a rather quick crash after a moment of the bot successfully working. Here is the output:

basic_bot.nim(19)        basic_bot
asyncdispatch.nim(1656)  waitFor
asyncdispatch.nim(1516)  poll
asyncdispatch.nim(1282)  runOnce
asyncdispatch.nim(191)   processPendingCallbacks
asyncmacro.nim(36)       sessionHandleSocketMessage_continue
discord.nim(354)         sessionHandleSocketMessageIter
asyncmacro.nim(313)      handleDispatch
asyncmacro.nim(36)       handleDispatch_continue
discord.nim(252)         handleDispatchIter
objects.nim(476)         newPresenceUpdate
json.nim(475)            []
tables.nim(165)          []
[[reraised from:
basic_bot.nim(19)        basic_bot
asyncdispatch.nim(1656)  waitFor
asyncdispatch.nim(1516)  poll
asyncdispatch.nim(1282)  runOnce
asyncdispatch.nim(191)   processPendingCallbacks
asyncfutures.nim(349)    :anonymous
]]
Error: unhandled exception: key not found: username
Async traceback:
  basic_bot.nim(19)       basic_bot
  asyncdispatch.nim(1656) waitFor
  asyncdispatch.nim(1516) poll
    ## Processes asynchronous completion events
  asyncdispatch.nim(1282) runOnce
  asyncdispatch.nim(191)  processPendingCallbacks
    ## Executes pending callbacks
  asyncmacro.nim(36)      sessionHandleSocketMessage_continue
    ## Resumes an async procedure
  discord.nim(354)        sessionHandleSocketMessageIter
  asyncmacro.nim(313)     handleDispatch
  asyncmacro.nim(36)      handleDispatch_continue
    ## Resumes an async procedure
  discord.nim(252)        handleDispatchIter
  objects.nim(476)        newPresenceUpdate
  json.nim(475)           []
  tables.nim(165)         []
Exception message: key not found: username
Exception type: [KeyError]

The key which is said to be not found changes from time to time. It has shown up as url, guild_id, and mostly shows up as username.

Readme Example Broken

Hello, the example on the readme doesnt seem to work for me, returning discord.nim(3, 31) Error: undeclared identifier: 'Session'
I am on nim version Nim Compiler Version 0.18.0 [Linux: amd64]

Illegal storage access when sending message

Hint: operation successful (97009 lines compiled; 72.614 sec total; 226.867MiB peakmem; Debug Build) [SuccessX]
Hint: C:\Users\Rizwan\Desktop\Projects\Nim!\test.exe  [Exec]
Traceback (most recent call last)
C:\Users\Rizwan\.choosenim\toolchains\nim-0.20.0\lib\pure\asyncdispatch.nim(1839) waitFor
C:\Users\Rizwan\.choosenim\toolchains\nim-0.20.0\lib\pure\asyncdispatch.nim(1533) poll
C:\Users\Rizwan\.choosenim\toolchains\nim-0.20.0\lib\pure\asyncdispatch.nim(373) runOnce
C:\Users\Rizwan\.choosenim\toolchains\nim-0.20.0\lib\pure\asyncdispatch.nim(210) processPendingCallbacks
C:\Users\Rizwan\.choosenim\toolchains\nim-0.20.0\lib\pure\asyncmacro.nim(34) sessionHandleSocketMessage_continue
C:\Users\Rizwan\.nimble\pkgs\discord-2.3.0\src\discord.nim(355) sessionHandleSocketMessageIter
C:\Users\Rizwan\.choosenim\toolchains\nim-0.20.0\lib\pure\asyncmacro.nim(34) handleDispatch_continue
C:\Users\Rizwan\.nimble\pkgs\discord-2.3.0\src\discord.nim(239) handleDispatchIter
C:\Users\Rizwan\.choosenim\toolchains\nim-0.20.0\lib\pure\asyncmacro.nim(311) each
C:\Users\Rizwan\.choosenim\toolchains\nim-0.20.0\lib\pure\asyncmacro.nim(34) each_continue
C:\Users\Rizwan\.nimble\pkgs\discord-2.3.0\src\discord.nim(161) eachIter
C:\Users\Rizwan\Desktop\Projects\Nim!\test.nim(4) someMessageCreateProc
SIGSEGV: Illegal storage access. (Attempt to read from nil?)```

URL error

I have error on run example

earn.nim(19)            learn
discord.nim(149)         newShard
asyncdispatch.nim(1656)  waitFor
asyncdispatch.nim(1516)  poll
asyncdispatch.nim(355)   runOnce
asyncdispatch.nim(191)   processPendingCallbacks
asyncmacro.nim(36)       getGateway_continue
json.nim(1199)           getGatewayIter
json.nim(475)            []
tables.nim(165)          []
[[reraised from:
learn.nim(19)            learn
discord.nim(149)         newShard
asyncdispatch.nim(1658)  waitFor
asyncfutures.nim(302)    read
]]
Error: unhandled exception: key not found: url
Async traceback:
  learn.nim(19)           learn
  discord.nim(149)        newShard
  asyncdispatch.nim(1656) waitFor
  asyncdispatch.nim(1516) poll
    ## Processes asynchronous completion events
  asyncdispatch.nim(355)  runOnce
  asyncdispatch.nim(191)  processPendingCallbacks
    ## Executes pending callbacks
  asyncmacro.nim(36)      getGateway_continue
    ## Resumes an async procedure
  json.nim(1199)          getGatewayIter
  json.nim(475)           []
  tables.nim(165)         []
Exception message: key not found: url
Exception type: [KeyError]
Error: execution of an external program failed: 'C:\Users\Rayan\Desktop\workspace\learn\src\learn.exe '
stack trace: (most recent call last)

JSON ambiguous call

Hello !

I tried to run basic_bot.nim code. Unfortunately it is not compile and return an error message after compiling with nim c -d:ssl mycode.nim :

/Users/nedss/.nimble/pkgs/discord-2.3.0/src/discord.nim(107, 115) template/generic instantiation of `async` from here /Users/nedss/.nimble/pkgs/discord-2.3.0/src/discord.nim(121, 35) template/generic instantiation of `%*` from here /Users/nedss/.nimble/pkgs/discord-2.3.0/src/discord.nim(123, 14) template/generic instantiation of `%` from here /Users/nedss/.choosenim/toolchains/nim-0.20.2/lib/pure/json.nim(369, 41) Error: ambiguous call; both json.%(opt: Option[%.T]) [declared in /Users/nedss/.choosenim/toolchains/nim-0.20.2/lib/pure/json.nim(343, 6)] and objects.%(o: Option[%.T]) [declared in /Users/nedss/.nimble/pkgs/discord-2.3.0/src/objects.nim(630, 6)] match for: (Option[system.string])

I put there my code :

import asyncdispatch, discordnim

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 <token>")
proc endSession() {.noconv.} =
  waitFor d.disconnect()
setControlCHook(endSession)
let removeProc = d.addHandler(EventType.message_create, messageCreate)
waitFor d.startSession()
removeProc()

I work on MACOS (Mojave) 10.14.6 and have the last version of NIM.

Nim Compiler Version 0.20.2 [MacOSX: amd64]
Compiled at 2019-07-17
Copyright (c) 2006-2019 by Andreas Rumpf

Do you have an idea about this problem ?

Thanks, and thanks for your job !

Exception: Incorrect JSON kind

Running the basic bot example, I get the following crash after a short time:

basic_bot.nim(19)        basic_bot
asyncdispatch.nim(1656)  waitFor
asyncdispatch.nim(1516)  poll
asyncdispatch.nim(1282)  runOnce
asyncdispatch.nim(191)   processPendingCallbacks
asyncmacro.nim(36)       sessionHandleSocketMessage_continue
discord.nim(354)         sessionHandleSocketMessageIter
asyncmacro.nim(313)      handleDispatch
asyncmacro.nim(36)       handleDispatch_continue
discord.nim(252)         handleDispatchIter
json.nim(944)            newPresenceUpdate
[[reraised from:
basic_bot.nim(19)        basic_bot
asyncdispatch.nim(1656)  waitFor
asyncdispatch.nim(1516)  poll
asyncdispatch.nim(1282)  runOnce
asyncdispatch.nim(191)   processPendingCallbacks
asyncfutures.nim(349)    :anonymous
]]
Error: unhandled exception: Incorrect JSON kind. Wanted '{JObject}' in 'temp608520["game"]' but got 'JNull'.
Async traceback:
  basic_bot.nim(19)       basic_bot
  asyncdispatch.nim(1656) waitFor
  asyncdispatch.nim(1516) poll
    ## Processes asynchronous completion events
  asyncdispatch.nim(1282) runOnce
  asyncdispatch.nim(191)  processPendingCallbacks
    ## Executes pending callbacks
  asyncmacro.nim(36)      sessionHandleSocketMessage_continue
    ## Resumes an async procedure
  discord.nim(354)        sessionHandleSocketMessageIter
  asyncmacro.nim(313)     handleDispatch
  asyncmacro.nim(36)      handleDispatch_continue
    ## Resumes an async procedure
  discord.nim(252)        handleDispatchIter
  json.nim(944)           newPresenceUpdate
Exception message: Incorrect JSON kind. Wanted '{JObject}' in 'temp608520["game"]' but got 'JNull'.
Exception type: [JsonKindError]

zlib1.dll

i have it installed in mingw, but its not enough. i need to know where to put the thing

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.