Skip to content
This repository was archived by the owner on Aug 10, 2022. It is now read-only.
This repository was archived by the owner on Aug 10, 2022. It is now read-only.

Tracking: Add multiprotocol support (starting with discord) #130

@Efreak

Description

@Efreak

pinging @bonnici @dungdung @dragonbanshee because I think the tracking issue was in one of the repos I deleted 😦

Add discord protocol support to the bot. Once we've figured this out, PRs adding other protocols (IRC, slack, etc) will be welcome. If you have any ideas, please let me know. If you have any better ideas than mine, please really post here. Please also join either the discord or steam groupchat. (chats are linked; history is here and in discord).

Tracking:

  • - Add a way for triggers to specify which protocol(s) they work on (stuff that depends on _steam_id won't work)
    • - maybe split baseTrigger different trigger types? IE, baseDiscordTrigger would only work on discord.
  • - Add more info to events (name, etc) as seen in Eris message events. Eventually, remove _username functions.
  • - figure out how to get _sendMessageAfterDelay working. Maybe pass around an object that specifies network information?
  • - rework login stuff. username/password config needs to go. Config is now an object only. This is a breaking change, requires a new major version.
    • config.connections = [{type:"steam",username:String,password:string},{type:"discord",token:"string"}] would allow future protocols, but isn't very nice.
    • config.steam=["username","password"]; config.discord="token"; is probably better.

Maybe while we're doing this, we can also remove some of the dependencies. Wolfram has already been dumped, but it would be nice to continue. My thinking is, some way to load triggers from another package would allow removal of unpopular triggers without completely getting rid of them. Maybe @bonnici has an idea for this?

Also, if this isn't going to be steam-exclusive anymore, we need a new name. I'm thinking either chat-bot, but while it's not in use on npm, it is in use on github (so is chat-bots), so while we can use that as a package/repo name, we still need an organization name.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions