You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gryffyn 6ed15ba9c7
8 months ago
configs update configs 2 years ago
images updated readme and auto-config 4 years ago
.drone.yml initial commit 8 months ago
.gitignore initial commit 8 months ago
Dockerfile renamed 8 months ago
LICENSE initial commit 8 months ago renamed 8 months ago
config.go fix config parsing order 2 years ago
config_examples.go config go files cleanup 2 years ago
config_handlers.go add chat filtering 2 years ago
discord.go update to respond to users properly when there are too many logs 2 years ago
discord_structs.go add chat filtering 2 years ago
go.mod renamed 8 months ago
go.sum initial commit 8 months ago
irc.go add logging 2 years ago
irc_structs.go correct some config syntax 2 years ago
jane.go renamed 8 months ago
parsing.go fix parsing 1 year ago
parsing_structs.go add chat filtering 2 years ago
slack.go config rewrite 2 years ago


Fork of parkertron.

A simple discord chat bot with a simple configuration. Written using discordgo.


tesseract-ocr w/ english training files (May support other languages but has not been tested.) libleptonica (for tesseract)

Working on adding other services and additions.

The checklist so far

  • support multiple services
    • Discord
    • IRC

Discord specific support

  • Support @mentions for the bot
  • Use @mentions for other users
  • Watch for @mentions on groups
  • Respond with multi-line output in a single message

IRC specific support

  • Logging into service and validating
  • Create account on a server
    • Freenode
    • Others

General support

  • Get inbound messages

    • Listen to specific channels
      • per-channel configs
    • Listen for mentions
      • respond according to context
  • Respond to inbound messages

    • respond to commands with prefix
    • respond to key words/phrases
    • Comma separated lists
    • Separate server commands
  • Image parsing

    • image from url support (others may work)
      • png support
      • jpg support
    • direct embedded images
  • Respond with correct output from configs

  • Impliment blacklist/whitelist mode (Blacklist by User ID only)

  • Mitigate spam with cooldown per user/channel/global

    • global cooldown
    • channel cooldown
    • user cooldown
  • Permissions

    • Server own gets all perms
    • Permissions management
  • logging

    • log user join/leave
    • log chats (only logs channels it is watching to cut minimize logging)
    • log edits (show original and edited)
    • log chats/edits to separate files/folders
  • Join voice channels

    • Play audio from links

So far I have the chat bot part down with no limiting or administration.

Configuration is done in yaml/json.
If you have a Bot account already you can add the token and client ID's on your own.
If you don't you will need to set your own account up.

The "owner" option in the configs is basically a super admin that will not be able to be blacklisted.

The prefix is the command prefix and is customizable.
Set to "." by default it can be changed to whatever you want.

The Commands set up is simple and is also in json.
See the commands.json for examples.