Git Product home page Git Product logo

parkertron's Introduction

parkertron

Parkertron logo

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

Large changes to the keyword/command configs

This most recent update will break your current keyword and command configs by moving the response one level deeper. This is to allow for reactions to be added on keywords. The bot can also mention a user for matched using the &user& string in the keyword response.

Reactions need to be copied in as a unicode emoji character.

Old:

keyword:
  help:
    - "Please check the github page at <https://github.com/parkervcp/parkertron>"
    - "The default config is a good example of how to set commands up. Try `.help command`"
    - "My base chat parsing function is also available. Try `.help keyword` for more info"

New:

keyword:
  help:
    reaction:
      - "๐Ÿ’ช"
    response:
      - "&user& Please check the github page at <https://github.com/parkervcp/parkertron>"
      - "The default config is a good example of how to set commands up. Try `.help command`"
      - "My base chat parsing function is also available. Try `.help keyword` for more info"

Requirements:

tesseract-ocr w/ english trainign 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
    • Slack
    • 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.

parkertron's People

Contributors

parkervcp avatar lionkor avatar sonarbeserk avatar jonasdev17 avatar lancepioch avatar schrej avatar 1eob avatar wispdotgg avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.