Created
January 4, 2023 20:21
-
-
Save UnholyGnomes/a563a1a088b26a7a6fd1d2f2e8341077 to your computer and use it in GitHub Desktop.
Caleb Test
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import discord | |
from discord import Intents | |
from discord.ext import commands | |
from rustplus import CommandOptions | |
from datetime import datetime | |
import os | |
import traceback | |
from dotenv import load_dotenv | |
from clogging import setup_logger | |
from clogging import logpath | |
from clogging import check_if_logger_exists | |
import asyncio | |
import sqlalchemy as db | |
from sqlalchemy.sql import exists | |
import discord | |
load_dotenv() | |
check_if_logger_exists() | |
logger = setup_logger('MAIN', logpath) | |
intentss = Intents.all() | |
PREFIX = os.getenv('PREFIX') | |
command_options = CommandOptions(os.getenv('PREFIX')) | |
bot = commands.Bot(command_prefix=commands.when_mentioned_or( | |
f"{PREFIX}"), intents=intentss) | |
engine = db.create_engine(os.getenv("DBPATH")) | |
connection = engine.connect() | |
metadata = db.MetaData() | |
class OnThisDayTime(): | |
def __init__(self, triggerday, triggertime, triggerminute, timenow) -> None: | |
self.triggerday = triggerday | |
self.triggertime = triggertime | |
self.timenow = timenow | |
if len(self.triggertime) == 1: | |
self.triggertime = f"0{self.triggertime}" | |
self.triggerminute = triggerminute | |
def check(self): | |
dt = self.timenow | |
currentday = dt.strftime("%A") | |
currentmonth = dt.strftime("%B") | |
currentdaynumber = dt.strftime("%d") | |
currenthour = dt.strftime("%H") | |
currentminute = dt.strftime("%M") | |
currentsecond = dt.strftime("%S") | |
if currentday == self.triggerday and currenthour == self.triggertime and currentminute == self.triggerminute: | |
return True | |
else: | |
return False | |
cogs = [] | |
@bot.event | |
async def on_ready(): | |
channel = bot.get_channel(int(os.getenv("CHANNEL"))) | |
logger.info(f"We have logged in as {bot.user}") | |
logger.info('Bot is ready!') | |
logger.info(f"This bot is active in {len(bot.guilds)} guild(s).") | |
logger.info(f"- - - SERVER LIST - - -") | |
print(int(os.getenv("CHANNEL"))) | |
print(channel) | |
for guild in bot.guilds: | |
logger.info(f"Server {guild.id} : {guild.name}") | |
for cog in cogs: | |
logger.info(f'Attempting to load {cog}...') | |
try: | |
bot.add_cog(cog) | |
logger.info(f'{cog} loaded!') | |
except Exception: | |
print(traceback.format_exc()) | |
pass | |
while 1 == 1: | |
p1 = OnThisDayTime("Wednesday", "13", "15", datetime.now()).check() | |
p2 = OnThisDayTime("Wednesday", "13", "16", datetime.now()).check() | |
p3 = OnThisDayTime("Wednesday", "13", "17", datetime.now()).check() | |
print(p1,p2,p3) | |
if p1 == True: | |
await channel.send(f"Triggered! p1 at {datetime.now()} :D") | |
await asyncio.sleep(60) | |
if p2 == True: | |
await channel.send(f"Triggered! p2 at {datetime.now()} :D") | |
await asyncio.sleep(60) | |
if p3 == True: | |
await channel.send(f"Triggered! p3 at {datetime.now()} :D") | |
await asyncio.sleep(60) | |
else: | |
print("Not triggered :(") | |
await asyncio.sleep(1) | |
@bot.event | |
async def on_member_join(member): | |
channel = bot.get_channel(int(os.getenv("CHANNEL"))) | |
await member.send(f"Welcome to {member.guild.name}!") | |
await channel.send(file=discord.File(r'C:\Users\Zach\Documents\Scripts\Python\TestsAndLearning\CalebTests\4Ez.gif')) | |
await channel.send(f"Welcome to {member.guild.name}, {member.mention}!") | |
bot.run(os.getenv("TOKEN")) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment