UNPKG

botpress-discord

Version:

A Botpress module using Eris to interact with Discord.

115 lines (86 loc) 2.44 kB
# botpress-discord ## Installation Installing modules on Botpress is simple. By using the CLI, you only need to type this command in your terminal to add the discord module to your bot. ``` botpress install discord ``` It's also possible to install it though the Botpress UI in the modules section. (probably) ## Get started ##### 1. Create a [**new Discord app**](https://discordapp.com/developers/applications/me) <img alt="Create app" src="/assets/create-app-discord.png" width="500px" /> #### 2. Add a bot user to your app Just press the "Add bot user button" #### 3. Copy the newly generated token #### 4. Insert the token into the config The config is located at _modules_config/botpress-discord.json_. Insert the token as string at the key "botToken". #### 5. ???? #### 6. Profit! ## Features ### Incoming * [Text messages](#text-messages) ### Outgoing * [Text messages](#text-messages-1) * [Attachments](#attachments) * [Images](#images) ## Reference ### Incoming You can listen to incoming events easily with Botpress by using the built-in "hear" function. ##### Ready ```js bp.hear({platform: "discord", type: "ready"}, (event) => { let client = event.discord; }) ``` ##### Messages ```js bp.hear({platform: "discord", type: "message", text: /^hello/i}, event => { bp.discord.sendText(event.channel.id, "Welcome!") }) ``` ##### User status update ```js bp.hear({platform: "discord", type: "status"}, (event) => { let user = event.user, status = event.status, game = event.game; }); ``` ##### User typing ```js bp.hear({platform: "discord", type: "typing"}, (event) => { let user = event.user, channelID = event.channelID; }); ``` #### Text messages An `event` is sent to middlewares for each incoming text message from Discord. ```js { platform: "discord", type: "text", user: e.author, text: e.content, channel: e.channel, raw: e } ``` ### Outgoing #### Text messages ```js bp.discord.sendText(channelId, text) ``` ###### You can also pass extra params to this method (check out [Eris](https://github.com/abalabahaha/eris) documentation): ```js bp.discord.sendText( event.channel.id, "Welcome!", { 'embed': { title: "I'm an embed!", description: "Here is some more info, with **awesome** formatting.\nPretty *neat*, huh?", }}); ``` #### Attachments ```js bp.discord.sendAttachment(channelId, description, uri) ``` #### Images ```js bp.discord.sendImage(channelId, uri) ```