aboutsummaryrefslogtreecommitdiff

Botnet

Botnet is a Slack selfbot and social-experiment that lets you deploy messages across a network of opt-in user accounts. Join the botnet, submit your message, and watch it echo across the Slack. Opt-in only, leave anytime.

  • Users who want to join the botnet connect their Slack OAuth to the Botnet application
  • The Botnet application can send messages on behalf of others users with the OAuth scope
  • Every botnet "node" (user) gets 2 messages to "deploy" (send) per day
  • When a message is deployed, it gets sent to an AI to ensure it is safe, and if deemed safe, it is sent to #botnet-deploy-voting for voting. 3 members/nodes (number is subject to change/scale) of the botnet need to approve and/or deny the message to be deployed before it happens
  • Voting for approval is time-based, after 1 hour if not enough votes messages will be auto-rejected
  • After voting, if the message is approved, it will be sent on behalf of every single node in the botnet to their most recent thread where botnet is approved to work
  • Botnet is opt-in for channels, CMs (channel managers) have to approve botnet to run in their channel, otherwise botnet will not send messages in that channel
  • Anyone can revoke their OAuth and leave the botnet at any time with the press of a single button
  • If a bad message somehow, someway gets out, DM me and I will use the API to delete the nefarious messages on behalf of all affected users. Botnet is a social experiment and not meant to be nefarious, hence the guardrails, even though the chaos and idea can be closely associated with nefarious purposes. I am happy to take down this project by FD's request.

Note: this project was made for Hack Club Doppel, and is tailored for Hack Club Slack. This bot is not guaranteed to work outside of Hack Club Slack.


Running locally

  1. Copy example.env to .env and fill in all of the fields with your chosen API key(s).
  2. Install the required Python modules with pip3 install -r requirements.txt
  3. Run the bot with python3 -m src.main - this will start an HTTP server on port 8000 for OAuth along with running the Slack Bolt application!