added more reactions

This commit is contained in:
Lia Schöneweiß 2023-05-08 11:50:07 +02:00
parent b1525ed5c3
commit 84fef8d071

View File

@ -3,6 +3,8 @@ from pathlib import Path
from telegram.ext import ConversationHandler, CommandHandler, MessageHandler, filters, CallbackQueryHandler from telegram.ext import ConversationHandler, CommandHandler, MessageHandler, filters, CallbackQueryHandler
from telegram import InlineKeyboardButton, InlineKeyboardMarkup from telegram import InlineKeyboardButton, InlineKeyboardMarkup
from telegram import Update from telegram import Update
import re
import random
from .basehandler import BaseHandler from .basehandler import BaseHandler
@ -15,19 +17,38 @@ TURTLE_VIDEOS = list(TURTLE_VIDEO_LOCATION.glob("*.mp4"))
class TurtleHandler(BaseHandler): class TurtleHandler(BaseHandler):
def __init__(self): def __init__(self):
self.entry_string = "Variation of hallo" self.entry_string = "Variation of hallo"
self.handler = MessageHandler(filters.Regex(r"Hallo|hallo"), self.entry_point) self.handler = MessageHandler(filters.Regex(r"[hH]([aA]+|[eE]+)[lL]{2,}[oOöÖ]+(le)?|(chen)") | # react to hello strings
filters.Regex(b"\xF0\x9F\x90\xA2".decode("utf8")) | # react to turtle emoji
filters.Regex(r"[sS](childkröte)|[tT](urtle)"), # react to turtle string
self.entry_point)
pass pass
async def entry_point(self, update: Update, context): async def entry_point(self, update: Update, context):
await super().entry_point(update, context) await super().entry_point(update, context)
msgtxt = update.message.text msgtxt = update.message.text
if "hallo" in msgtxt: turtle_emoji = b"\xF0\x9F\x90\xA2".decode("utf8")
if "hallo" in msgtxt: # react to hallo
vid = TURTLE_VIDEOS[0] vid = TURTLE_VIDEOS[0]
answertxt = "hallo1" answertxt = "Hallo!"
elif "Hallo" in msgtxt: elif re.search("[eE][lL]{2,}[oO]", msgtxt): # react to hello
vid = TURTLE_VIDEOS[1] vid = TURTLE_VIDEOS[2]
answertxt = "Hallo2" answertxt = "Hello!"
elif re.search("([aA]{4,}|[lL]{4,}|[oO]{4,}|[öÖ]{4,})", msgtxt): # react to stretched hello
vid = TURTLE_VIDEOS[5]
answertxt = "That's a lot of letters!"
elif re.search(turtle_emoji, msgtxt): # react to turtle emoji
vid=TURTLE_VIDEOS[0] # TODO: choose video for smiley reaction
answertxt="Turtle detected! Self-destruction mode activated..."
elif re.search("[sS](childkröte)|[tT](urtle)", msgtxt): # react to turtle string
vid=None
answertxt=turtle_emoji
else:
vid = random.choice(TURTLE_VIDEOS[1:2]+TURTLE_VIDEOS[3:5]+TURTLE_VIDEOS[6:])
answertxt = ""
await update.message.reply_video(video=vid, caption=answertxt) if vid!=None:
# await update.message.reply_text(text=answertxt) await update.message.reply_video(video=vid, caption=answertxt)
else:
await update.message.reply_text(text=answertxt)