Added random triggers
This commit is contained in:
24
bot.py
24
bot.py
@@ -2,6 +2,7 @@ import discord
|
|||||||
import dotenv
|
import dotenv
|
||||||
import os
|
import os
|
||||||
import asyncio
|
import asyncio
|
||||||
|
import random
|
||||||
|
|
||||||
# text_triggers = {
|
# text_triggers = {
|
||||||
# "lessthan": "WHAT ARE YOU WAITING FOR?",
|
# "lessthan": "WHAT ARE YOU WAITING FOR?",
|
||||||
@@ -27,6 +28,17 @@ class TextTrigger(MessageTrigger):
|
|||||||
for trigger in self.triggers:
|
for trigger in self.triggers:
|
||||||
if trigger in processed_string:
|
if trigger in processed_string:
|
||||||
asyncio.create_task(message.reply(self.response))
|
asyncio.create_task(message.reply(self.response))
|
||||||
|
return
|
||||||
|
|
||||||
|
class RandomTrigger(MessageTrigger):
|
||||||
|
def __init__(self, chance:float, trigger:MessageTrigger):
|
||||||
|
self.chance = chance
|
||||||
|
self.trigger = trigger
|
||||||
|
|
||||||
|
def handle_message(self, message):
|
||||||
|
if random.random() > self.chance:
|
||||||
|
return
|
||||||
|
self.trigger.handle_message(message)
|
||||||
|
|
||||||
class EmojiTrigger(MessageTrigger):
|
class EmojiTrigger(MessageTrigger):
|
||||||
def __init__(self, triggers:list[str], emoji_names:list[str]):
|
def __init__(self, triggers:list[str], emoji_names:list[str]):
|
||||||
@@ -43,6 +55,7 @@ class EmojiTrigger(MessageTrigger):
|
|||||||
return
|
return
|
||||||
|
|
||||||
triggers:list[MessageTrigger] = [
|
triggers:list[MessageTrigger] = [
|
||||||
|
RandomTrigger(0.5,
|
||||||
TextTrigger([
|
TextTrigger([
|
||||||
"lessthan",
|
"lessthan",
|
||||||
"focus",
|
"focus",
|
||||||
@@ -50,7 +63,8 @@ triggers:list[MessageTrigger] = [
|
|||||||
"didntnotice",
|
"didntnotice",
|
||||||
"didntevennotice",
|
"didntevennotice",
|
||||||
"oblivion"
|
"oblivion"
|
||||||
], "WHAT ARE YOU WAITING FOR?"),
|
], "WHAT ARE YOU WAITING FOR?")
|
||||||
|
),
|
||||||
EmojiTrigger([
|
EmojiTrigger([
|
||||||
"lessthan",
|
"lessthan",
|
||||||
"focus",
|
"focus",
|
||||||
@@ -63,9 +77,16 @@ triggers:list[MessageTrigger] = [
|
|||||||
"pieces",
|
"pieces",
|
||||||
"peices"
|
"peices"
|
||||||
], "Put. It. Together."),
|
], "Put. It. Together."),
|
||||||
|
RandomTrigger(0.25,
|
||||||
TextTrigger([
|
TextTrigger([
|
||||||
"annoy"
|
"annoy"
|
||||||
], "Stop annoying yourself.")
|
], "Stop annoying yourself.")
|
||||||
|
),
|
||||||
|
RandomTrigger(0.15,
|
||||||
|
TextTrigger([
|
||||||
|
"bot"
|
||||||
|
], "I'm not a bot.")
|
||||||
|
),
|
||||||
]
|
]
|
||||||
|
|
||||||
dotenv.load_dotenv(".env")
|
dotenv.load_dotenv(".env")
|
||||||
@@ -85,7 +106,6 @@ async def on_ready():
|
|||||||
async def on_message(message):
|
async def on_message(message):
|
||||||
if message.author == client.user:
|
if message.author == client.user:
|
||||||
return
|
return
|
||||||
global lessthan
|
|
||||||
print(f"Message from {message.author}: {message.content}")
|
print(f"Message from {message.author}: {message.content}")
|
||||||
|
|
||||||
for trigger in triggers:
|
for trigger in triggers:
|
||||||
|
|||||||
Reference in New Issue
Block a user