Nim
discord

NimでDiscordBotを作る

環境

環境
Nim Compiler Version 0.18.0 [Windows: amd64]
Copyright (c) 2006-2018 by Andreas Rumpf

Discord側の準備

Discord developersに行きNewAppスクリーンショット 2018-04-05 11.12.05.png
名前を入力しCreate App
スクリーンショット 2018-04-05 11.15.01.png
少し下にスクロールし Crearte a Bot User
スクリーンショット 2018-04-05 11.15.23.png
Token:click to revealをクリック
Token:************************
をメモしておく
スクリーンショット 2018-04-05 11.20.38.png
Generate OAuth2 URLをクリック
スクリーンショット 2018-04-05 11.22.29.png
Botを選択し COPY
スクリーンショット 2018-04-05 11.23.52.png
COPYしたURLを開き自分のサーバーを選択 認証しましたとでれば成功です
スクリーンショット 2018-04-05 11.25.47.png

Nim側の準備

使用するライブラリ
ライブラリのインストール

nimble install discordnim

pingとメッセージを送るとpongと返ってくるサンプルコード

import asyncdispatch, discordnim, strutils

proc messageCreate(s: Shard, m: MessageCreate) =
    if s.cache.me.id == m.author.id: return
#自分自身(Bot)だったら反応しない
    if m.content == "ping":
#メッセージがpingだったら
        asyncCheck s.channelMessageSend(m.channel_id, "pong")
#送られてきたチャンネルにpongと送り返す

let d = newDiscordClient("Bot token")
#先程メモしたtokenをBot の後ろにコピーペースト
let s = d.addShard()
proc endSession() {.noconv.} =
    waitFor d.disconnect()

setControlCHook(endSession)

d.addHandler(EventType.message_create, messageCreate)
waitfor s.startSession()

実行する場合は -d:ssl を付けてください
nim c -d:ssl -r fileName

スクリーンショット 2018-04-05 11.35.57.png

おしまい

サンプルコードは
こちらやインストールしたライブラリのexamplesフォルダにあります
情報がほとんど無いのでソースコードを見るのが一番だと思います