Git Product home page Git Product logo

timelord-bot's People

Contributors

dependabot[bot] avatar errolyn avatar mythmon avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

Forkers

mythmon

timelord-bot's Issues

Make timelord able to connect to multiple guilds from one deploy

Timelord should be able to connect to multiple guilds and have individual configs to support this.

Things to consider:

  • Keeping input and output channels correct for each guild.
  • Adding a config set up page of some sort so the bot can be invited without needing access to the deploy server.
  • Configs should be updatable .
  • There should be some method blocking guilds in case of abuse.

Add testing

Add testing to logic outside of interactions directly with the Eris framework. example diceRoller.js should have tests for its functions.

Set role for user and ping mods when CoC is accepted

When user accepts CoC the bot messages mods and applies correct role for user.

Accept code of conduct message:

@mods, @<userName> has accepted the Code of Conduct.

Commands to be added

Agree to code of conduct:

!acceptcoc

parent issue #11

Polls

Add polls:

command examples:
!makePoll <emoji set> <poll description> <poll options>
!makePoll -- then answer questions via dm
!makePoll -- link to a form to fill out

Bot should replace !makePoll with the new poll

Have time lord take over rank functionality from dyno bot

  • Should be able to add ranks to a member
  • Should be able to add new ranks
  • Should be able to keep track of what ranks are joinable by a member
  • Should be able delete old ranks which should remove them from both the server and the bots database
  • Ranks should be pingable

This needs some more thought around how this should work from the members perspective, and could be broken out into a few tasks. We will probably need a DB added to timelord to make this work, so we should decide when info is needed and useful to.

Add an art feed

Add an optional art feed to the bot. Should be behind some kind of conditional that checks if a channel has been set for the art feed, also add this as an option to the news feed.

Message user with helpful information after role update

Bot messages user with information on how to sign up for roles and set pronouns

Welcome message:

Thanks for accepting the Code of Conduct! In our <#bot-speak-ID> channel you can sign up for different roles to get notifications based on things you are interested in, you can also set your pronouns all with the command ?rank [rankName]. To see the available ranks, use ?ranks. Have fun and let a mod know if you have any questions!

parent issue #11

Send entry message to user

On connection to the server bot pm's entry message to user

entry message should be:

Entry message:

Hi @<userName> when you have a moment check out our #<CoC-channel-ID> and once you have accepted it we will give you access to the rest of the server. ๐Ÿ˜„

Parent issue #11

Add linting

  • Use eslint recommended and prettier.
  • CircleCI github actions?

Create voice channel

Create voice channels from command
Clean up channels when empty

Channels should be nameable from command and have some indicator that it's ephemeral.

#44 - Mythmon working on it

!vc: Add rename command

Users should be able to rename a !vc-managed channel.

!vc rename old channel : New Channel seems like a good command for it, where the left half would use the same unambiguous partial match logic as !vc delete. Along with this change, we should also disallow " : " in channel names, or we should use a different separation strategy.

TikTok unfurl

Tiktoks do not have great integration with discord this would make watching tiktoks in the discord interface possible.

This would need multiple server support and configuration be viable across multiple discord servers.

  • It would take a link, download the video, and reply back with a message that had the video as an attachment.
  • It should be configurable to do this on all tiktok links or just on ones that have a command like !unfurl <link>
  • The always unfurl all tiktoks option should have something like <link> -ignore to stop the unfurl ass needed.
  • There should be an unfurl with spoiler option as well for both flows. !unfurl -spoiler <link> and <link> -spoiler

!news newline bug

A new line in the message causes the rest of the message to not get posted in the news feed. I would expect the whole message to to be posted with formatting.

Username shows up instead of nickname

When using !news in the title of message it uses the user's username rather then the nickname in the discord.

Find out if the user's nick name is included in the msg payload and use that instead of the username.

Add reactable message for mods to set user role.

When a mod interacts with CoC message, the correct role is applied and restricted is removed from the new member.

Message in mod channel:

@<userName> has accepted the Code of conduct at . React with a โœ”๏ธ to add them to Hero Academia or a ๐Ÿ‘ to add to Heros in Training.

Parent issue #11

!vc: Add ephemeral text channels to go with the ephemeral voice channels

When a user creates a voice channel with !vc create Let's play a game, that should also create a paired text channel, #lets-play-a-game-chat. When the voice channel is deleted, the text channel should also be deleted.

Only users that are currently in the voice channel should have access to see the chat channel, which is primarily intended to avoid spamming users that have notifications default to on for new channels.

The text channel should have a description that makes it clear the contents are ephemeral, and won't last longer than when the channel is cleaned up.

Add new member flow

Feature Criteria:

When a member joins:

  • - On connection to the server bot pm's entry message to user #17
  • - When user accepts CoC the bot messages mods and applies correct role for user #18
  • - When a mod interacts with CoC message, the correct role is applied and restricted is removed #19
  • - Bot messages user with information on how to sign up for roles and set pronouns #21
  • - Bot cleans up messages in CoC channel

Messages

Entry message:

Hi @<userName> when you have a moment check out our #<CoC-channel-ID> and once you have accepted it we will give you access to the rest of the server. ๐Ÿ˜„

Accept code of conduct message:

@mods, @<userName> has accepted the Code of Conduct.

Message in mod channel:

@<userName> has accepted the Code of conduct at . React with a โœ”๏ธ to add them to Hero Academia or a ๐Ÿ‘ to add to Heros in Training.

Welcome message:

Thanks for accepting the Code of Conduct! In our #<bot-speak-ID> channel you can sign up for different roles to get notifications based on things you are interested in, you can also set your pronouns all with the command ?rank [rankName]. To see the available ranks, use ?ranks. Have fun and let a mod know if you have any questions!


Commands to be added

Agree to code of conduct:

!acceptcoc


Member flow

  1. Member receives invite and joins
  2. Joins message shows up in Announcements
  3. Entry message is sent to member
  4. Member accepts code of conduct
  5. In code of conduct channel Accept message is posted and mod message is posted in admin channel and user is given CoC role
  6. Mod/admin interacts with mod message
  7. Bot assigns the user role and messages welcome message to member
  8. Bot cleans up messages in CoC channel

Add name/link to original message in news feed

Add the name of the original channel the news post was posted in, so users know where to look when they want to comment on the news article.

Find out if discord supports direct linking to a message.

Channel opt-out command

Add a command that will allow a user to opt-out of a channel something like !leaveChannel <channel-name> which would then remove read permissions for the user in that channel. This command should probably function via DM with an additional guild parameter. There should also be a equivalent join command to rejoin channels they have left.

There should be a check that their permissions rank is such that they should be able to see/join the channel.

If constraining to the correct permissions for the role is not available then this command should not be added.

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.