imported functionality from separte bot (Jenson Botton).

This commit is contained in:
tamservo 2023-07-30 19:47:08 -04:00
parent c3747ee90e
commit 66eee52bb5
3 changed files with 121 additions and 0 deletions

0
LICENSE Normal file → Executable file
View File

0
README.md Normal file → Executable file
View File

View File

@ -5,6 +5,7 @@ from asyncio.subprocess import PIPE, STDOUT
import collections.abc import collections.abc
import json import json
import os import os
import random
import sqlite3 import sqlite3
from subprocess import Popen from subprocess import Popen
import time import time
@ -559,6 +560,13 @@ class Robottas(commands.Bot):
print("Tried to kill collection process") print("Tried to kill collection process")
async def decode_watched(self, w):
if w == 0:
return 'Not Watched Yet'
else:
return 'Watched Already'
def __init__(self): def __init__(self):
# Set debug or not # Set debug or not
self.debug = True self.debug = True
@ -693,6 +701,10 @@ class Robottas(commands.Bot):
# Test file # Test file
self.test_file = "test.json" self.test_file = "test.json"
# Race db patterns
self.loc_pattern = re.compile('[\w\s\-\d]+')
self.yr_pattern = re.compile('\d{4}')
### END FastF1 adapted section ### ### END FastF1 adapted section ###
super().__init__(command_prefix=self.command_prefix, super().__init__(command_prefix=self.command_prefix,
@ -840,6 +852,115 @@ class Robottas(commands.Bot):
await ctx.send(file = df) await ctx.send(file = df)
@self.command()
async def danger(ctx):
await ctx.send("That's some dangerous driving! " + name_dict["HAM"]
@self.command()
async def dotd(ctx):
await ctx.send( "I don't know, probably " + name_dict["ALB"] )
@self.command()
async def flip(ctx):
await ctx.send( random.choice(["Heads","Tails")
@self.command()
async def gp2(ctx):
await ctx.send("GP2 engine! GP2! ARGHHH! " + name_dict["ALO"])
@self.command()
async def quote(ctx):
try:
con = sqlite3.connect('races.db')
cur = con.cursor()
for row in cur.execute("select * from quotes " +
"order by random() " +
"limit 1")
message = row[0] + " -- " + row[1] + " " + row[2]
await ctx.send(message)
break # There should only be one row anyway
cur.close()
con.close()
except:
ctx.send("Can't think of a quote for some reason...")
@self.command()
@commands.has_permissions(administrator=True)
async def race_watched(ctx, loc, yr):
if re.match(self.loc_pattern, loc) and \
re.match(self.yr_pattern, yr):
try:
con = sqlite3.connect('races.db')
cur = con.cursor()
cur.execute('update races ' +
'set watched = 1 ' +
'where location = ? ' +
'year = ?', (loc,yr))
con.commit()
cur.close()
con.close()
await ctx.send(f"{loc} {yr} marked as watched.")
except:
await ctx.send(f"Couldn't mark {loc} {yr} as watched for some reason.")
@self.command()
async def rand_race(ctx):
try:
con = sqlite3.connect('races.db')
cur = con.cursor()
for row in cur.execute('select * from races ' +
'order by Random() ' +
'limit 1')
watched = self.decode_watched(row[2])
await ctx.send(f"Location: {row[0]} Year: {row[1]} {watched}")
break
cur.close()
con.close()
except:
ctx.send("Can't find a random race for some reason.")
@self.command()
async def rand_race_new(ctx):
try:
con = sqlite3.connect('races.db')
cur = con.cursor()
for row in cur.execute('select * from races ' +
'where watched = 0 ' +
'order by Random() ' +
'limit 1')
watched = self.decode_watched(row[2])
await ctx.send(f"Location: {row[0]} Year: {row[1]}")
break
cur.close()
con.close()
except:
ctx.send("Can't pick a race for some reason.")
@self.command()
async def tyres(ctx):
await ctx.send("Bono, my tyres are gone " + name_dict["HAM"])
if __name__ == '__main__': if __name__ == '__main__':
rb = Robottas() rb = Robottas()
rb.run_robottas() rb.run_robottas()