This commit is contained in:
Adam 2022-10-07 23:12:23 -04:00
parent 2e0450a206
commit 50baffb10b
7 changed files with 154 additions and 157 deletions

View file

@ -5,7 +5,7 @@ motd ='''
| |__| |_| | |___ / /| |_) | |_| | |_
|_____\__,_|_____/___|____/ \___/ \__|
'''
menu = '''```
menu ='''```
Commands:
fortune: tell a fortune
chuck: give a Chuck Norris quote
@ -18,77 +18,47 @@ Commands:
Contribute!
https://github.com/adoyle0/lulzbot```'''
# Discord
import discord, datetime
import numpy as np
from fortune import fortune
from modules.ligma import ligma
from modules.limericks import limerick
from src.twitter import get_tweet
from src.cartman import cartman_speak
from src.limericks import limerick
chuck_quotes = open('src/chuck_quotes').read().split('\n%\n')
ligma_list = open('src/ligma_list').read().split('\n')
def show_menu():
return menu
def musk():
return get_tweet(44196397)
def ligma():
return np.random.choice(ligma_list)
def prost():
return 'https://tenor.com/view/prost-christoph-waltz-django-bier-zum-wohle-gif-11041516'
def chuck():
return np.random.choice(chuck_quotes)
message_handler = {'lulzbot': show_menu, # these need to be functions
'musk': musk,
'deez': ligma,
'ligma': ligma,
'bofa': ligma,
'bopha': ligma,
'limerick': limerick,
'limrick': limerick,
'prost!': prost,
'fortune': fortune,
'chuck': chuck,
}
TOKEN = open('.sekrit/discord_token').read()
chuck = open('chucknorris').read().split('\n%\n')
client = discord.Client(activity=discord.Game(name='with myself'))
# NLP
from transformers.models.auto.tokenization_auto import AutoTokenizer
from transformers.models.auto.modeling_auto import AutoModelForCausalLM
import torch
tokenizer = AutoTokenizer.from_pretrained('microsoft/DialoGPT-large')
model = AutoModelForCausalLM.from_pretrained('../southpark/output-medium')
# Twitter
import tweepy
twit_sekrit = open('.sekrit/twit_sekrit').read().split('\n')
api_key = twit_sekrit[0]
api_key_secret = twit_sekrit[1]
bearer_token = twit_sekrit[2]
access_token = twit_sekrit[3]
access_token_secret = twit_sekrit[4]
tclient = tweepy.Client(bearer_token,api_key,api_key_secret,access_token,access_token_secret)
# Functions
def user_tweet(twitter):
statuses = tclient.get_users_tweets(twitter, exclude=['replies'], max_results=5)
return statuses[0][0]
def cartman_speak(user_message):
new_user_input_ids = tokenizer.encode(user_message + tokenizer.eos_token, return_tensors='pt')
bot_output = new_user_input_ids
bot_input_ids = torch.cat([new_user_input_ids, bot_output])
bot_output = model.generate(
bot_input_ids, max_length= 200,
pad_token_id=tokenizer.eos_token_id,
no_repeat_ngram_size=3,
do_sample=True,
top_k=100,
top_p=0.7,
temperature=.8
)
return '{}'.format(tokenizer.decode(bot_output[:,bot_input_ids.shape[-1]:][0], skip_special_tokens=True))
def message_handler(message):
handler = {'musk': user_tweet(44196397),
'lulzbot': menu,
'deez': ligma(),
'ligma': ligma(),
'bofa': ligma(),
'bopha': ligma(),
'limerick': limerick(),
'limrick': limerick(),
'prost!': 'https://tenor.com/view/prost-christoph-waltz-django-bier-zum-wohle-gif-11041516',
'fortune': fortune(),
'chuck': np.random.choice(chuck),
}
if message in handler:
return handler.get(message)
else:
return
# Main
@client.event
async def on_ready():
print(motd+'\n'+datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')+'\nLogged in as {0.user}'.format(client))
@ -99,19 +69,18 @@ async def on_message(message):
username = str(message.author).split('#')[0]
user_message = str(message.content)
channel = str(message.channel.name)
print(f'{username}: {user_message} ({channel})')
print(f'{datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")} ({channel}) {username}: {user_message}')
if message.author == client.user:
return
if message.channel.name == 'cartman':
elif message.channel.name == 'cartman':
async with message.channel.typing():
await message.channel.send(cartman_speak(user_message))
return
if message.channel.name == 'shitposting':
async with message.channel.typing():
await message.channel.send(message_handler(user_message))
return
elif message.channel.name == 'shitposting':
if user_message in message_handler:
await message.channel.send(message_handler[user_message]())
return
client.run(TOKEN)

View file

@ -1,85 +0,0 @@
import numpy as np
def ligma():
ligma = [
'https://tenor.com/view/ligma-ligma-balls-atomicrops-gif-24996966',
'https://tenor.com/view/ligma-balls-gif-12236083',
'https://tenor.com/view/will-smith-ligma-funny-gif-25108308',
'https://tenor.com/view/racoon-wiggle-nuts-balls-gif-8085185',
'https://tenor.com/view/jesus-biglebowski-balls-gif-9633055',
'https://tenor.com/view/big-black-fuzzy-balls-fuzzy-balls-big-balls-eddie-griffin-undercover-brother-gif-5548455',
'https://tenor.com/view/ballcrushing-bust-ballbusting-balls-gif-14635943',
'https://tenor.com/view/cup-check-balls-ouch-sack-gif-10728090',
'https://tenor.com/view/xie-lian-ligma-balls-ligma-tgcf-tian-gua-ci-fu-gif-21869659',
'https://tenor.com/view/lick-taste-tongue-out-gif-16957327',
'https://tenor.com/view/rickandmorty-lick-lickballs-gif-9913722',
'https://tenor.com/view/ligma-balls-gif-12236636',
'https://tenor.com/view/ligma-balls-gif-22082587',
'https://tenor.com/view/its-all-free-free-no-charge-free-of-charge-naughty-teddy-gif-19338184',
'https://tenor.com/view/ligma-balls-sonic-act-lick-gif-21274274',
'https://tenor.com/view/balls-dance-rotate-beating-gif-17433105',
'https://tenor.com/view/david-bowie-labyrinth-balls-magic-balls-magic-gif-16043363',
'https://tenor.com/view/kawaii-muski-muski-omori-ligma-balls-gif-21138025',
'https://tenor.com/view/ligma-ligamab-alls-tower-of-babel-gaming-tobg-riamu-yumemi-gif-24359574',
'https://tenor.com/view/goat-lick-tongue-tongue-out-tongue-wiggle-gif-16390888',
'https://tenor.com/view/bleh-tongue-out-lickitung-pokemon-detective-pikachu-gif-15798020',
'https://tenor.com/view/deez-nuts-wheel-of-fortune-gif-15264920',
'https://tenor.com/view/hello-chat-deez-nuts-hello-chat-deez-nuts-gif-25294032',
'https://tenor.com/view/deez-nuts-troll-troll-face-troll-face-smile-dark-gif-23624288',
'https://tenor.com/view/deez-nuts-gif-22383209',
'https://tenor.com/view/deez-nutz-deez-nuts-deez-nutz-heart-locket-gif-22497345',
'https://tenor.com/view/ball-inspection-balls-inspection-football-bobux-gif-19234883',
'https://tenor.com/view/sesame-street-proud-hug-puppet-yay-gif-19663674',
'https://tenor.com/view/deez-deez-nuts-initial-d-ligma-steve-jobs-gif-23065842',
'https://tenor.com/view/testing-new-deez-nuts-ha-teeth-gif-15758045',
'https://tenor.com/view/longest-drive-gif-20862347',
'https://tenor.com/view/deez-deez-nuts-discord-gif-20296574',
'https://tenor.com/view/these-nuts-deez-gif-13388028',
'https://tenor.com/view/pepe-deez-nuts-pepe-the-frog-pepe-holding-sign-deez-nuts-gif-deez-nuts-ha-gif-22618462',
'https://tenor.com/view/squirrel-i-have-got-words-for-you-you-want-deez-nuts-gif-15404415',
'https://tenor.com/view/deez-nuts-are-you-ready-gif-20161550',
'https://tenor.com/view/deez-nuts-nutz-deez-gif-18259525',
'https://tenor.com/view/dee-gif-4387670',
'https://tenor.com/view/omori-deez-nuts-so-funny-funny-joke-right-guys-gif-21468920',
'https://tenor.com/view/deeznuts-gif-5578640',
'https://tenor.com/view/dznutz-gif-7146897',
'https://tenor.com/view/deez-nut-deez-nuts-gobble-gobble-deez-nuts-gif-25294130',
'https://tenor.com/view/deez-nuts-gif-22383209',
'https://tenor.com/view/guilty-gear-strive-happy-chaos-deez-nuts-gif-guilty-gear-gif-23786775',
'https://tenor.com/view/mouth-full-my-nuts-squirrel-mine-get-away-gif-14154065',
'https://tenor.com/view/friday-night-funkin-deez-nuts-hop-on-gif-22197266',
'https://tenor.com/view/deez-nuts-cookie-deez-nutz-deez-nuts-nft-gif-23901553',
'https://tenor.com/view/homare-arisugawa-a3-deez-nuts-gif-22718748',
'https://tenor.com/view/cope-deez-cope-on-deez-colossalcraft-coping-gif-23556695',
'https://tenor.com/view/hug-kiss-gif-23992029',
'https://tenor.com/view/deez-nutz-deez-nuts-gif-22037745',
'https://tenor.com/view/deez-nuts-nft-deez-nuts-gif-deez-nuts-deez-big-nuts-deez-gif-23605637',
'https://tenor.com/view/deez-deez-nuts-gif-25652186',
'https://tenor.com/view/gulpin-deeznuts-gif-21798060',
'https://tenor.com/view/deez-nuts-deez-burger-king-burger-king-crown-airplane-gif-21978215',
'https://tenor.com/view/deez-nuts-rap-john-oh-you-really-like-deez-nut-up-in-your-face-gif-22744730',
'https://tenor.com/view/hop-on-deez-nuts-gif-25437799',
'https://tenor.com/view/h3-h3podcast-5percent-five-percent-h3five-percent-gif-24149085',
'https://tenor.com/view/youre-sucking-deez-nuts-gif-21505910',
'https://tenor.com/view/eokel-valorant-youtube-gif-22895296',
'https://tenor.com/view/fortune-cooke-deez-nuts-lmao-cookie-fortune-gif-21740031',
'https://tenor.com/view/deez-nuts-takemichi-feet-gif-22705365',
'https://tenor.com/view/deez-nuts-dana-gif-19615763',
'https://tenor.com/view/smg4-gif-23834017',
'https://tenor.com/view/urmom-hololive-gif-21993936',
'https://tenor.com/view/deez-nuts-paradise-pd-crabbage-gif-21925327',
'https://tenor.com/view/willem-dafoe-insane-insanity-crazy-nuts-gif-20731647',
'https://tenor.com/view/yogi-bear-yogi-bear-doughnuts-deez-nuts-gif-gif-23782410',
'https://tenor.com/view/dane-cook-carpe-deez-nuts-floyd-waiting-gif-17393528',
'https://tenor.com/view/what-are-you-putting-on-your-wiener-what-is-on-your-wiener-what-do-you-put-on-your-wiener-on-your-wiener-your-wiener-gif-18064519',
'https://tenor.com/view/king-kong-deez-nuts-meme-kong-king-gif-21432884',
'https://tenor.com/view/bangbang-gun-shot-powpow-pow-gif-21746849',
'https://tenor.com/view/mcdonalds-meme-gif-mickey-deez-gif-9926547',
'https://tenor.com/view/deez-nuts-spongebob-gif-5267436',
'https://tenor.com/view/hangover-nuts-chow-ken-jeong-the-hangover-gif-13028372',
'https://tenor.com/view/snl-natalie-portman-jiggle-nuts-lonely-gif-15048024',
'https://tenor.com/view/omegalul-deez-deez-nuts-twitch-clips-gif-22601733',
'https://tenor.com/view/you-ready-deez-nuts-gif-18188433',
'https://media.giphy.com/media/jt3R5veCXNM1jJ183A/giphy-downsized-large.gif',
]
return np.random.choice(ligma)

22
src/cartman.py Normal file
View file

@ -0,0 +1,22 @@
from transformers.models.auto.tokenization_auto import AutoTokenizer
from transformers.models.auto.modeling_auto import AutoModelForCausalLM
import torch
tokenizer = AutoTokenizer.from_pretrained('microsoft/DialoGPT-large')
model = AutoModelForCausalLM.from_pretrained('../southpark/output-medium')
def cartman_speak(user_message):
new_user_input_ids = tokenizer.encode(user_message + tokenizer.eos_token, return_tensors='pt')
bot_output = new_user_input_ids
bot_input_ids = torch.cat([new_user_input_ids, bot_output])
bot_output = model.generate(
bot_input_ids, max_length= 200,
pad_token_id=tokenizer.eos_token_id,
no_repeat_ngram_size=3,
do_sample=True,
top_k=100,
top_p=0.7,
temperature=.8
)
return '{}'.format(tokenizer.decode(bot_output[:,bot_input_ids.shape[-1]:][0], skip_special_tokens=True))

79
src/ligma_list Normal file
View file

@ -0,0 +1,79 @@
https://tenor.com/view/ligma-ligma-balls-atomicrops-gif-24996966
https://tenor.com/view/ligma-balls-gif-12236083
https://tenor.com/view/will-smith-ligma-funny-gif-25108308
https://tenor.com/view/racoon-wiggle-nuts-balls-gif-8085185
https://tenor.com/view/jesus-biglebowski-balls-gif-9633055
https://tenor.com/view/big-black-fuzzy-balls-fuzzy-balls-big-balls-eddie-griffin-undercover-brother-gif-5548455
https://tenor.com/view/ballcrushing-bust-ballbusting-balls-gif-14635943
https://tenor.com/view/cup-check-balls-ouch-sack-gif-10728090
https://tenor.com/view/xie-lian-ligma-balls-ligma-tgcf-tian-gua-ci-fu-gif-21869659
https://tenor.com/view/lick-taste-tongue-out-gif-16957327
https://tenor.com/view/rickandmorty-lick-lickballs-gif-9913722
https://tenor.com/view/ligma-balls-gif-12236636
https://tenor.com/view/ligma-balls-gif-22082587
https://tenor.com/view/its-all-free-free-no-charge-free-of-charge-naughty-teddy-gif-19338184
https://tenor.com/view/ligma-balls-sonic-act-lick-gif-21274274
https://tenor.com/view/balls-dance-rotate-beating-gif-17433105
https://tenor.com/view/david-bowie-labyrinth-balls-magic-balls-magic-gif-16043363
https://tenor.com/view/kawaii-muski-muski-omori-ligma-balls-gif-21138025
https://tenor.com/view/ligma-ligamab-alls-tower-of-babel-gaming-tobg-riamu-yumemi-gif-24359574
https://tenor.com/view/goat-lick-tongue-tongue-out-tongue-wiggle-gif-16390888
https://tenor.com/view/bleh-tongue-out-lickitung-pokemon-detective-pikachu-gif-15798020
https://tenor.com/view/deez-nuts-wheel-of-fortune-gif-15264920
https://tenor.com/view/hello-chat-deez-nuts-hello-chat-deez-nuts-gif-25294032
https://tenor.com/view/deez-nuts-troll-troll-face-troll-face-smile-dark-gif-23624288
https://tenor.com/view/deez-nuts-gif-22383209
https://tenor.com/view/deez-nutz-deez-nuts-deez-nutz-heart-locket-gif-22497345
https://tenor.com/view/ball-inspection-balls-inspection-football-bobux-gif-19234883
https://tenor.com/view/sesame-street-proud-hug-puppet-yay-gif-19663674
https://tenor.com/view/deez-deez-nuts-initial-d-ligma-steve-jobs-gif-23065842
https://tenor.com/view/testing-new-deez-nuts-ha-teeth-gif-15758045
https://tenor.com/view/longest-drive-gif-20862347
https://tenor.com/view/deez-deez-nuts-discord-gif-20296574
https://tenor.com/view/these-nuts-deez-gif-13388028
https://tenor.com/view/pepe-deez-nuts-pepe-the-frog-pepe-holding-sign-deez-nuts-gif-deez-nuts-ha-gif-22618462
https://tenor.com/view/squirrel-i-have-got-words-for-you-you-want-deez-nuts-gif-15404415
https://tenor.com/view/deez-nuts-are-you-ready-gif-20161550
https://tenor.com/view/deez-nuts-nutz-deez-gif-18259525
https://tenor.com/view/dee-gif-4387670
https://tenor.com/view/omori-deez-nuts-so-funny-funny-joke-right-guys-gif-21468920
https://tenor.com/view/deeznuts-gif-5578640
https://tenor.com/view/dznutz-gif-7146897
https://tenor.com/view/deez-nut-deez-nuts-gobble-gobble-deez-nuts-gif-25294130
https://tenor.com/view/deez-nuts-gif-22383209
https://tenor.com/view/guilty-gear-strive-happy-chaos-deez-nuts-gif-guilty-gear-gif-23786775
https://tenor.com/view/mouth-full-my-nuts-squirrel-mine-get-away-gif-14154065
https://tenor.com/view/friday-night-funkin-deez-nuts-hop-on-gif-22197266
https://tenor.com/view/deez-nuts-cookie-deez-nutz-deez-nuts-nft-gif-23901553
https://tenor.com/view/homare-arisugawa-a3-deez-nuts-gif-22718748
https://tenor.com/view/cope-deez-cope-on-deez-colossalcraft-coping-gif-23556695
https://tenor.com/view/hug-kiss-gif-23992029
https://tenor.com/view/deez-nutz-deez-nuts-gif-22037745
https://tenor.com/view/deez-nuts-nft-deez-nuts-gif-deez-nuts-deez-big-nuts-deez-gif-23605637
https://tenor.com/view/deez-deez-nuts-gif-25652186
https://tenor.com/view/gulpin-deeznuts-gif-21798060
https://tenor.com/view/deez-nuts-deez-burger-king-burger-king-crown-airplane-gif-21978215
https://tenor.com/view/deez-nuts-rap-john-oh-you-really-like-deez-nut-up-in-your-face-gif-22744730
https://tenor.com/view/hop-on-deez-nuts-gif-25437799
https://tenor.com/view/h3-h3podcast-5percent-five-percent-h3five-percent-gif-24149085
https://tenor.com/view/youre-sucking-deez-nuts-gif-21505910
https://tenor.com/view/eokel-valorant-youtube-gif-22895296
https://tenor.com/view/fortune-cooke-deez-nuts-lmao-cookie-fortune-gif-21740031
https://tenor.com/view/deez-nuts-takemichi-feet-gif-22705365
https://tenor.com/view/deez-nuts-dana-gif-19615763
https://tenor.com/view/smg4-gif-23834017
https://tenor.com/view/urmom-hololive-gif-21993936
https://tenor.com/view/deez-nuts-paradise-pd-crabbage-gif-21925327
https://tenor.com/view/willem-dafoe-insane-insanity-crazy-nuts-gif-20731647
https://tenor.com/view/yogi-bear-yogi-bear-doughnuts-deez-nuts-gif-gif-23782410
https://tenor.com/view/dane-cook-carpe-deez-nuts-floyd-waiting-gif-17393528
https://tenor.com/view/what-are-you-putting-on-your-wiener-what-is-on-your-wiener-what-do-you-put-on-your-wiener-on-your-wiener-your-wiener-gif-18064519
https://tenor.com/view/king-kong-deez-nuts-meme-kong-king-gif-21432884
https://tenor.com/view/bangbang-gun-shot-powpow-pow-gif-21746849
https://tenor.com/view/mcdonalds-meme-gif-mickey-deez-gif-9926547
https://tenor.com/view/deez-nuts-spongebob-gif-5267436
https://tenor.com/view/hangover-nuts-chow-ken-jeong-the-hangover-gif-13028372
https://tenor.com/view/snl-natalie-portman-jiggle-nuts-lonely-gif-15048024
https://tenor.com/view/omegalul-deez-deez-nuts-twitch-clips-gif-22601733
https://tenor.com/view/you-ready-deez-nuts-gif-18188433
https://media.giphy.com/media/jt3R5veCXNM1jJ183A/giphy-downsized-large.gif

12
src/twitter.py Normal file
View file

@ -0,0 +1,12 @@
import tweepy
twit_sekrit = open('.sekrit/twit_sekrit').read().split('\n')
api_key = twit_sekrit[0]
api_key_secret = twit_sekrit[1]
bearer_token = twit_sekrit[2]
access_token = twit_sekrit[3]
access_token_secret = twit_sekrit[4]
tclient = tweepy.Client(bearer_token,api_key,api_key_secret,access_token,access_token_secret)
def get_tweet(user_id):
return tclient.get_users_tweets(user_id, exclude=['replies'], max_results=5)[0][0]