Skip to main content

Meme generator using the memegen api

Project description

legos.memes

Travis PyPI PyPI

PyPI PyPI PyPI

Automatically create memes based on phrasing in this memes lego. Built using the memegen 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

legos.memes-0.3.8.tar.gz (19.5 kB view details)

Uploaded Source

Built Distribution

legos.memes-0.3.8-py3-none-any.whl (19.2 kB view details)

Uploaded Python 3

File details

Details for the file legos.memes-0.3.8.tar.gz.

File metadata

  • Download URL: legos.memes-0.3.8.tar.gz
  • Upload date:
  • Size: 19.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.12

File hashes

Hashes for legos.memes-0.3.8.tar.gz
Algorithm Hash digest
SHA256 c97b62e2931d053776533f4f547840357fa361caccfab7ec87bb7af4475e51ea
MD5 619bc734255af7a4c2bc1e9569e46565
BLAKE2b-256 db2c00e3e1b860139a0545c935622b315dc80aa7af8f3ad8c73679407cc871a4

See more details on using hashes here.

File details

Details for the file legos.memes-0.3.8-py3-none-any.whl.

File metadata

  • Download URL: legos.memes-0.3.8-py3-none-any.whl
  • Upload date:
  • Size: 19.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.12

File hashes

Hashes for legos.memes-0.3.8-py3-none-any.whl
Algorithm Hash digest
SHA256 f139adc964da39c5e2071b2b307865cd4a4b97464daf47926af0696d18639ad5
MD5 8e653a130f4c35a7d8cfe535d2c6cb14
BLAKE2b-256 4e75380478e0f68c08a9b553562d5fbf47766d0daa8fecb4c522514b3f7794b3

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page