Skip to content

Instantly share code, notes, and snippets.

@UnholyGnomes
Created January 4, 2023 20:21
Show Gist options
  • Save UnholyGnomes/a563a1a088b26a7a6fd1d2f2e8341077 to your computer and use it in GitHub Desktop.
Save UnholyGnomes/a563a1a088b26a7a6fd1d2f2e8341077 to your computer and use it in GitHub Desktop.
Caleb Test
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