Git Product home page Git Product logo

pycord's Introduction

pycord's People

Contributors

nikkyai avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

pycord's Issues

Feature: load modules

  1. save commands in a modules structure
  2. import modules from folder
  3. allow unloading/ reloading of commands

Proposal: Authentication

problem

the bot itself cannot validate if users have used nicknames or are authenticated to nickserv

solution

add a hidden (secret / password locked) management channel
the main bot communicates with multiple mini bots there

API

request:

{
  "network": "esper",
  "platform":"irc",
  "command": "identify",
  "data": 
  {
    "name": "randomuser"
  }

response

{
  "network": "esper",
  "platform": "irc",
  "command": "identified",
  "data": 
  {
    "username": "randomuser"
  }
}

the data does not have to be serialized in json and does not have to be this data structure, especially if no more commands are needed

the main bot can only validate the apparent username of the helper bots and the channel they communicate in, so that has to be secure,
alternatively it could request a challenge on request (public key / private key)

Feature: regex commands

add a regex command annotation
captures named groups
and passes them to the matching named parameters or args*

Requests: Modules and Commands

please comment with requests for modules / commands

core

requires authentication

  • list modules list
  • reload modules reload
  • unload modules unload after authentication
  • load modules load after authentication

search

  • google g
  • wikipedia w
  • wolfram alpha wa maybe in a calc module ? with latex and other things

  • roleplay

requires regex commands: #2

  • dice (\d+)d(\d+)

reminder utility

requires delayed execution and scheduling
requires persistent storage

  • reminder in
  • tell tell
  • ask ask

misc

requires persistent storage
requires regex commands: #2

  • add (.*)++
  • substract (.*)--
  • show (.+)==

logging

requires persistent storage
requires per-channel config

keeps chatlogs for other modules to grep
allows requesting the log of channels while specifying date and timespan

  • log log

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.