Skip to content
This repository has been archived by the owner on May 7, 2024. It is now read-only.

drewpearce/legos.memes

Repository files navigation

legos.memes

Travis PyPI PyPI

PyPI PyPI PyPI

Automatically create memes based on phrasing in this memes lego. Built using the Memegen.link API, with inspiration derived from the Hubot memecaptain API implementation

The Lego module system and Legobot are a FOSS project lovingly crafted by Bren Briggs and friends. All code borrowed from Legobot is his (C).

Usage

Autodetect

This lego is invoked simply by speaking in meme phrases. Currently the following memes are supported (case insensitive.)

  • y u no...
    • Generates a Y U No guy meme with your text on it.
  • yo dawg...
    • Generates an Xzibit Yo Dawg meme with your message text on it.
  • what if I told you...
    • Generates a Morpheus What if I told you meme with your message text on it.
  • one does not simply...
    • Generates a Boromir One does not simply meme with your message text on it.
  • brace yourselves...
    • Generates a Ned Stark brace yourselves meme with your message text on it.
  • why not both
    • Generates a Why don't we have both girl meme.
  • ermahgerd...
    • Generates a Ermahgerd! girl meme with your message text on it.
  • NO!
    • Generates a Grumpy Cat meme.
  • i have no idea what i'm doing
    • Generates a Computer Dog meme.
  • it's a trap
    • Generates an Admiral Ackbar meme.
  • can't... if you don't ...
    • Generates a Roll Safe meme with your message on it.

Manual Invocation

You can also generate memes manuall through the syntax <keyword>: <top line text>, <bottom line text>

If you only want one line of text, simply don't include the comma.

Example: fry: not sure if ai, or really fast coder would generate this meme: Fry Meme

You can get a list of keywords in chat via !help memes list or you can visit Meme Keyword List

Custom Templates

You can generate memes with a custom image as well. Simply pass in a dictionary to the keyword config when adding the lego to the baseplate.

baseplate_proxy.add_child(Memes, font='impact', config={
    'templates': {
        'code': {
            'name': 'My Custom Template',
            'custom': 'http://...'
        }
    }
})
  • code is the code you want to use to trigger the custom template
  • name is whatever name you want to use
  • custom is the url to the custom background template

Installation

pip3 install legos.memes

This is a Lego designed for use with Legobot, so you'll get Legobot along with this. To deploy it, import the package and add it to the active legos like so:

# This is the legobot stuff
from Legobot import Lego
# This is your lego
from legos.memes import Memes

# Legobot stuff here
lock = threading.Lock()
baseplate = Lego.start(None, lock)
baseplate_proxy = baseplate.proxy()

# Add your lego
baseplate_proxy.add_child(Memes, font='impact')  # font adding is optional

Tweaking

While you can use this one as-is, you could also add a localized version to your Legobot deployment by grabbing memes.py and deploying is as a local module. Example of a Legobot instance with local modules

Contributing

As always, pull requests are welcome.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages