We built this Comfy Discord Bot Module live on Twitch for Coding Cafe!
ComfyDiscord lets you create a bot for your Discord server SUPER EASILY in just a few lines of code.
Like these projects? The best way to support my open-source projects is by becoming a Comfy Sponsor on GitHub!
Come and hang out with us at the Comfiest Corner on Twitch!
- Install
comfydiscord
npm install comfydiscord --save
- Respond to !commands in your Discord
require( "dotenv" ).config();
const ComfyDiscord = require( "comfydiscord" );
ComfyDiscord.onCommand = ( channel, user, command, message, flags ) => {
if( command == "test" ) {
console.log( "!test was typed in chat" );
}
}
ComfyDiscord.Init( "MyDiscordBotToken" );Currently, the flags possible in onCommand() are:
- bot
You can read chat messages by using the onChat() handler
ComfyDiscord.onChat = ( channel, user, message, flags, extra ) => {
console.log( channel, user, message );
}Sending Chat Messages can be done through ComfyDiscord.Say( channel, message ).
- Register a Discord App, Navigate to
Botin the Settings Menu on the page, and Get a Discord Bot Token - https://discordapp.com/developers/applications/ and Invite the Bot into your server using a link with your Bot's Client ID and permission scope https://discordapp.com/oauth2/authorize?client_id=123mybotclientid123&scope=bot&permissions=133262656 - Install
dotenv
npm install dotenv --save
- Create a file named
.envthat looks like this:
DISCORDTOKEN=[DISCORD-BOT-TOKEN HERE] # e.g. DISCORDTOKEN=Fdkjher128764Da3B- Initialize with the Token
require( "dotenv" ).config();
const ComfyDiscord = require( "comfydiscord" );
ComfyDiscord.onCommand = ( channel, user, command, message, flags ) => {
if( command == "test" ) {
ComfyDiscord.Say( "general", "replying to !test" );
}
}
ComfyDiscord.Init( process.env.DISCORDTOKEN );-
onCommand
( channel, user, command, message, flags, extra )Responds to "!" commands
channel(string) - Name of the Discord channel.user(string) - Name of the message author.command(string) - Name of the command used. The "!" is removed and is lower case.message(string) - The message without the command.flags(MessageFlags) - Basic flags about the user.extra(MessageExtras) - Extra details from the message.
-
onChat
( channel, user, message, flags, extra )Responds to user chatting
channel(string) - Name of the Discord channel.user(string) - Name of the message author.message(string) - The message.flags(MessageFlags) - Basic flags about the user.extra(MessageExtras) - Extra details from the message.
-
MessageFlags(object)Basic flags about the user.
bot(boolean) If the user is a bot account.
-
MessageExtras(object)Extra details from the message.
id(string) - The message ID.channelId(string) - The channel ID.channel(TextChannel | DMChannel | GroupDMChannel) - Discord.js Channel.userId(string) - Message author's ID.username(string) - Message author's username.userNumber(string) - Message author's username discriminator.nickname(string) - Message author's nickname within the guild.displayName(string) - Nickname or username with discriminator.cleanContent(string) - The message contents with all mentions replaced by the equivalent text.
Thank you too all the participants of this project!
Gilokk0, ItsLittany, Instafluff, Instafriend, ChatTranslator, BillNash, MacabreMan, MsSaltyGiggles, That_MS_Gamer, DutchGamer46, sethorizer, TastyZero, jackconceprio, Amarogine, xRolo768, simrose4u, FlavCreations, i_am_from_mars, PhysoTronic, IAmThatOneJason, twallace123, superman1990skid, LilyHazel, Stay_Hydrated_Bot, atel0s, Docpinecone, Copperbeardy, losthewar, wietlol, caLLowCreation, JMSWRNR, BungalowGlow, theArtifacts, SausageCam, crazychick2019, morepizza308, TheHungerService, rockysenpai24, BellaTriXrbsa, where_is_laughingman, LatJorr, seniorkae, ReadyPlayerEmma, smilesandtea, merkurrz, CJnxd, primal_vertex, QuiiZyy, lewdmelon, MalForTheWin, itsboek, twitch_chat_is_stupid, iMrTnT, angel0O, ripSquidd, napkats, boki996, Clarkio, drowmander, JUBAN_3, Kyoslilmonster, ElysiaGriffin, tvgBadger, DareFutari, HonestDanGames, Dragonflytru_1, imJMB, rurutu, kazuhiko0, ichibadass, DurandalCraft, codeheir, shinageeexpress, JesusAcHe