Dope module
This commit is contained in:
		
							
								
								
									
										116
									
								
								bot/dope.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										116
									
								
								bot/dope.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,116 @@
 | 
			
		||||
# -*- coding: utf-8 -*-
 | 
			
		||||
import random
 | 
			
		||||
 | 
			
		||||
import irc3
 | 
			
		||||
from docopt import Dict
 | 
			
		||||
from irc3.plugins.command import command
 | 
			
		||||
from irc3.utils import IrcString
 | 
			
		||||
 | 
			
		||||
from . import Plugin
 | 
			
		||||
 | 
			
		||||
class Dope(Plugin):
 | 
			
		||||
 | 
			
		||||
    # All strains from https://www.leafly.com/explore
 | 
			
		||||
    STRAINS = {
 | 
			
		||||
        'sativa': [
 | 
			
		||||
            'Sour Diesel',
 | 
			
		||||
            'Green Crack',
 | 
			
		||||
            'Jack Herer',
 | 
			
		||||
            'Durban Poison',
 | 
			
		||||
            'Lemon Haze',
 | 
			
		||||
            'Strawberry Cough',
 | 
			
		||||
            'Super Silver Haze',
 | 
			
		||||
            'Alaskan Thunder Fuck',
 | 
			
		||||
            'Super Lemon Haze',
 | 
			
		||||
            'Amnesia Haze',
 | 
			
		||||
            'Maui Wowie',
 | 
			
		||||
            'Chocolope',
 | 
			
		||||
            'Harlequin',
 | 
			
		||||
            ],
 | 
			
		||||
        'indica': [
 | 
			
		||||
            'Granddaddy Purple',
 | 
			
		||||
            'Bubba Kush',
 | 
			
		||||
            'Northern Lights',
 | 
			
		||||
            'Blue Cheese',
 | 
			
		||||
            'Purple Kush',
 | 
			
		||||
            'Blueberry',
 | 
			
		||||
            'Grape Ape',
 | 
			
		||||
            'Blackberry Kush',
 | 
			
		||||
            'Master Kush',
 | 
			
		||||
            'God\'s Gift',
 | 
			
		||||
            'LA Confidential',
 | 
			
		||||
            'Death Star',
 | 
			
		||||
            'Purple Urkle',
 | 
			
		||||
            'Afghan Kush',
 | 
			
		||||
            'Skywalker',
 | 
			
		||||
            'White Rhino',
 | 
			
		||||
            'Hindu Kush',
 | 
			
		||||
            ],
 | 
			
		||||
        'hybrid': [
 | 
			
		||||
            'Blue Dream',
 | 
			
		||||
            'Girl Scout Cookies',
 | 
			
		||||
            'OG Kush',
 | 
			
		||||
            'White Widow',
 | 
			
		||||
            'Gorilla Glue #4',
 | 
			
		||||
            'Pineapple Express',
 | 
			
		||||
            'Trainwreck',
 | 
			
		||||
            'AK-47',
 | 
			
		||||
            'Headband',
 | 
			
		||||
            'Chemdawg',
 | 
			
		||||
            'Cheese',
 | 
			
		||||
            'Cherry Pie',
 | 
			
		||||
            'Skywalker OG',
 | 
			
		||||
            'Tahoe OG Kush',
 | 
			
		||||
            'Lemon Kush',
 | 
			
		||||
            'Platinum Girl Scout Cookies',
 | 
			
		||||
            'Golden Goat',
 | 
			
		||||
            'Agent Orange',
 | 
			
		||||
            ],
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
    @command
 | 
			
		||||
    def dope(self, mask: IrcString, target: IrcString, args: Dict):
 | 
			
		||||
        """Smoke weed everyday
 | 
			
		||||
 | 
			
		||||
        %%dope [<nick>]
 | 
			
		||||
        """
 | 
			
		||||
 | 
			
		||||
        strain_types = list(self.STRAINS.keys())
 | 
			
		||||
        strain_type  = random.choice(strain_types)
 | 
			
		||||
        strain       = random.choice(self.STRAINS[strain_type])
 | 
			
		||||
 | 
			
		||||
        actions = {
 | 
			
		||||
            'joint': [
 | 
			
		||||
                'passes',
 | 
			
		||||
                'rolls',
 | 
			
		||||
                'lights',
 | 
			
		||||
                ],
 | 
			
		||||
            'bong': [
 | 
			
		||||
                'passes',
 | 
			
		||||
                'preps',
 | 
			
		||||
                'lights',
 | 
			
		||||
                ],
 | 
			
		||||
            'vape': [
 | 
			
		||||
                'passes',
 | 
			
		||||
                ],
 | 
			
		||||
            'blunt': [
 | 
			
		||||
                'passes',
 | 
			
		||||
                'rolls',
 | 
			
		||||
                'lights',
 | 
			
		||||
                ],
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
        consume_type  = random.choice(list(actions.keys()))
 | 
			
		||||
        action        = random.choice(actions[consume_type])
 | 
			
		||||
 | 
			
		||||
        if args['<nick>']:
 | 
			
		||||
            nick = args['<nick>']
 | 
			
		||||
        else:
 | 
			
		||||
            nick = mask.nick
 | 
			
		||||
 | 
			
		||||
        self.bot.action(target, '{action} a {consume_type} of the finest {strain_type} "{strain}" to {nick}'.format(
 | 
			
		||||
            action=action,
 | 
			
		||||
            consume_type=consume_type,
 | 
			
		||||
            strain_type=strain_type,
 | 
			
		||||
            strain=strain,
 | 
			
		||||
            nick=nick))
 | 
			
		||||
		Reference in New Issue
	
	Block a user