Git Product home page Git Product logo

otherdave's Introduction

OtherDave

OtherDave is not David

OtherDave does some things, but not others

Runs on discord.py and a bunch of other stuff - before starting OtherDave, run:
python3 -m pip install -r requirements.txt

otherdave's People

Contributors

boogluten avatar ibanner56 avatar isaacbanner avatar the1076 avatar

Watchers

 avatar  avatar  avatar

Forkers

the1076 boogluten

otherdave's Issues

Interact with server roles

Discord bots can assign users to and remove users from roles, which would be a fun way to mess with Bandit.

Emoji for the word "sonic" rather than reply

Currently he says "Gotta love that Fast Guy" whenever sonic is mentioned, which is disruptive when discussing the blue blur.

Suggested emojis: fastguy_nice, fastguy_chilidog, or guyrunningfast

Pedant emojis

Dave wants to auto-react to messages containing certain triggers (:clown~1: on a message containing "lol", eg)

Add a !mock command

Per a suggestion from the server, add a command to parrot a users previous sentence with mixed capitals, a la "Mocking Spongebob" meme

User 1: I had a terrible day today, my breakfast was burned
User 2: !mock @user1
OtherDave: i HaD A teRriBLe DaY TodAy, mY BrEakFaST WaS bUrNed

!mimic mloc shows same sentence every time

!mimic @mloc shows:
1000000 seems v large. is that just a noob but I have difficulty keeping small leaves in.
1000000 seems v large. is that just a noob but I have difficulty keeping small leaves in.
1000000 seems v large. is that just a noob but I have difficulty keeping small leaves in.

It's really important to mloc that we get mimic working, he's very sick and it's his soul's deepest desire

Two Line Haikus

If the second line of a haiku can get up to 17 syllables from 11 in a single word it triggers detection even though it's not a valid haiku.

repro:
I guess I could still
easily set up some reorganization

!quiet function

Being able to silence all non-invoked functions (haiku, pedant, etc) for half an hour would be nice.

Mimic and Parrot should use allowed_mentions rather than stripping mentions

Discord.py supports the allowed_mentions properties when sending messages -

https://discordpy.readthedocs.io/en/latest/api.html?highlight=mention#discord.TextChannel.send

https://discordpy.readthedocs.io/en/latest/api.html?highlight=mention#allowedmentions

Rather than stripping @ mentions from text that's saved, just make sure those mentions aren't parsed on send.
This may apply to other commands, but commands like !respect should continue to invoke mentions, so we can't just configure this on the client to be used globally.

Mimic is incoherent.

Use higher-level markov chains to build more believable and coherent responses.

Davebucks for new users start at (int)0

Normally it'd make sense, things should start at 0! But if the first davebucks someone receives are a string, then you try to stringmischief it with 0. Ideally, if the initial davebucks are a string, they should be added to "" rather than 0 so we stop getting weird initial balances.

Add comment commands

Implement issuing commands to OtherDave by way of making comments to it, via Discord.
An example would be to have OtherDave change the DrunkDraw time by commenting what the new time for the drunk draw is.

Add item type icons to things in inventory

⚔️ :: [weapon]
🛡️ :: [shield]
⛑️ :: [armor]
⚗️ :: [potion]
🍔 :: [food]
🍷 :: [drink]
✨ :: [enchanted item]
🪗 :: [instrument]
🔑 :: [key item]
⚱️ :: [relic]

Code coverage is abysmal

Not counting Haiku, nothing is actually tested right now. Need to add tests for everything that can be tested locally.

!comic command

When a user uses the !comic command, generate a random phrase based on three separate lists representing the first, second, and third panels. Maybe eventually random images??

Add a /spend command for davebucks

What about something like:
Step right up, steeeeep right up, it's time to win a prize!
Today, for your all your rampant and wanton consumption needs, you could have:
- a standard prize! (XXX Davebucks)
- a rare prize! (XXXX Davebucks)
- a legendary prize! (XXXXX Davebucks)
- a snack (X Davebucks)

Pull the lever, and see what you get!

Nodupes flag in !comic

A flag that makes it so !comic command won't repeat panels from a certain number of !comics back

Example: !comic -nodupes 5
Remembers all panels it used for the past 5 !comic commands and does not repeat them

Other notes: a reasonable maximum seems fine if that's necessary

Numbers have 0 syllables.

"Look, he's wearing a
funny hat, because we got
10k likes yesterday!"

This triggered haiku since "10" counts as zero syllables.

need to token out the number and count its syllables.

Add !use and !drop for items, random discovery and usage for OD

usage:

!use [-my] <$object_in_inventory>
MadLibs a usage for $object_in_inventory if present in OD or the user's inventory (with -my), or prints and error

!drop [-my] <$object_in_inventory>
Drops an $object_in_inventory if present in OD or the user's inventory (with -my), or prints and error

Add ability for OD to find/use/drop random objects as an option for his random chatter, with find being the most likely choice.

Add command to suggest templates, etc

Usage would look like

!suggest -type { template | noun | ing_verb | etc } -value { string to add }

Would likely need a paired approval system, could maybe use button modals in the OD console channel to do so, with a reaction on the original !suggest command that was made.

Randomly selected folder branches for comic generator

Have comic generator choose an available branch at random when !comic is used.
IE:
a_comic/panel01
b_comic/panel01
c_comic/panel01, etc

Optional thought: add a command that'll allow a user to request a specific branch?
IE:
!comic a_comic
!comic b_comic etc

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.