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)
1. Create a new Discord app
Just press the "Add bot user button"
The config is located at modules_config/botpress-discord.json. Insert the token as string at the key "botToken".
You can listen to incoming events easily with Botpress by using the built-in "hear" function.
bp.hear({platform: "discord", type: "ready"}, (event) => {
let client = event.discord;
})
bp.hear({platform: "discord", type: "message", text: /^hello/i}, event => {
bp.discord.sendText(event.channel.id, "Welcome!")
})
bp.hear({platform: "discord", type: "status"}, (event) => {
let user = event.user,
status = event.status,
game = event.game;
});
bp.hear({platform: "discord", type: "typing"}, (event) => {
let user = event.user,
channelID = event.channelID;
});
An event
is sent to middlewares for each incoming text message from Discord.
{
platform: "discord",
type: "text",
user: e.author,
text: e.content,
channel: e.channel,
raw: e
}
bp.discord.sendText(channelId, text)
You can also pass extra params to this method (check out Eris documentation):
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?",
}});
bp.discord.sendAttachment(channelId, description, uri)
bp.discord.sendImage(channelId, uri)