Use this oauth2 link to add omnibot to your Discord server: https://discord.com/api/oauth2/authorize?client_id=911686934206771212&permissions=2048&scope=bot%20applications.commands
Use this oauth2 link to add omnibot to your Slack workspace: https://slack.com/oauth/v2/authorize?client_id=17414190871.1067129823393&scope=channels:history,channels:read,chat:write,commands,im:history,im:read,mpim:history,users:read,groups:history,groups:read,im:write,mpim:read&user_scope=
Slack bots need to serve an endpoint to receive Slack events. This would make development painful, so there's "socket mode" which doesn't have the endpoint requirement. Socket mode is recommended only for development by the documentation for reasons not given.
Omnibot currently looks for the environment variable DEBUG when it starts up. If this variable is set to anything (and environment variables are strings, so I do mean anything: even false, 0, etc.), Omnibot uses socket mode.
In order to use socket mode, however, socket mode must be toggled on in the app's configuration.
In order to use socket mode locally, you have to both set DEBUG in your environment and make sure socket mode is turned on in the app's configuration. This will likely cause live instances of Omnibot to fail on Slack. When you're finished testing locally, you'll need to make sure to turn socket mode off again.
https://api.slack.com/apis/connections/socket
Install the npm packages.
npm install
If you've made changes to the bot command definitions, excluding changes to the body of the execute function, you will need to register those changes with Discord.
npm run register
Build and run the server.
npm run start
npm install && npm run build
.npm run start
.Whenever a new command is defined or an existing command is redefined, the
commands need to be registered with Discord.
Run node run register
to do this.
Discord rate-limits command registrations.
Note that you do not need to re-register commands if you've only changed the contents of the command's execute function.
Lexiguess was inspired by https://hryanjones.com/guess-my-word/
2020-04-12: Initial version
2020-04-13: Ignore anything with punctuation or less than 2 letters
2020-04-14: Bugfix with when to complain about out-of-range words
2020-04-14: Bugfix with dups
2020-04-19: Various tweaks and fixes the last few days
2021-04-20: Update the README
2021-12-01: Refactor to use a state object/hash
2021-12-04: Over 500 words in the list the bot chooses from
2021-12-05: A bunch of words contributed by Madge Castle
2021-12-19: Works in Slack and Discord and can serve web pages
2022-03-10: Added template.env, greater portability
2022-09-27: Bumping the discord.js version fixed the duplicate replies bug
2023-05-12: Oops we haven't updated the changelog in ages
Top contenders for the name include botler, botley, beelz, shabot, urbot, omnibot, ...
Goal: totally general bot where we separate the business logic from the slack/sms/whatever connectivity, let it also have a web interface so anyone can try it out instantly at a certain URL and it just does all the things...
Namestorming: http://allourideas.org/bot
beebot, botbrain, beebotty, diabot, diabotical, unibot, beezlebot, cosmobot, ubiquibot, globot, panbot, infinibot, pluribot, communibot, cobot, loquella, shabotshalom, botshalom, beelzebot, nobotty, spottybot, motleybot, botley, cybot, jreeves, botchy, botulism, botany, bottum, bottabing, decepticon, lexibot, biddybot, skynet,
rejects:
beeotch, beeot, collocutio, locutio, yootlebot, tweedlebot, waddlebot, botbot, ubeequibot, poobot, transbot, brobot, probot, cybeeriad, cybernetica, lobotomy, lobot, gobot, autobot, botsoule, botsel, botch,
https://untitledbot.dreev.repl.co/slack/events
https://lexiguess.glitch.me/slack/events