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: Commands:
fortune: tell a fortune fortune: tell a fortune
chuck: give a Chuck Norris quote chuck: give a Chuck Norris quote
@ -18,77 +18,47 @@ Commands:
Contribute! Contribute!
https://github.com/adoyle0/lulzbot```''' https://github.com/adoyle0/lulzbot```'''
# Discord
import discord, datetime import discord, datetime
import numpy as np import numpy as np
from fortune import fortune from fortune import fortune
from modules.ligma import ligma from src.twitter import get_tweet
from modules.limericks import limerick 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() TOKEN = open('.sekrit/discord_token').read()
chuck = open('chucknorris').read().split('\n%\n')
client = discord.Client(activity=discord.Game(name='with myself')) 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 @client.event
async def on_ready(): async def on_ready():
print(motd+'\n'+datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')+'\nLogged in as {0.user}'.format(client)) 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] username = str(message.author).split('#')[0]
user_message = str(message.content) user_message = str(message.content)
channel = str(message.channel.name) 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: if message.author == client.user:
return return
if message.channel.name == 'cartman': elif message.channel.name == 'cartman':
async with message.channel.typing(): async with message.channel.typing():
await message.channel.send(cartman_speak(user_message)) await message.channel.send(cartman_speak(user_message))
return
if message.channel.name == 'shitposting': elif message.channel.name == 'shitposting':
async with message.channel.typing(): if user_message in message_handler:
await message.channel.send(message_handler(user_message)) await message.channel.send(message_handler[user_message]())
return return
client.run(TOKEN) 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]