oh crap it can get drunk
This commit is contained in:
parent
8eceb72725
commit
025f382554
34
bot.py
34
bot.py
|
@ -1,4 +1,7 @@
|
||||||
import asyncio
|
import asyncio
|
||||||
|
import os
|
||||||
|
import random
|
||||||
|
import time
|
||||||
|
|
||||||
from irctokens import build, Line
|
from irctokens import build, Line
|
||||||
from ircrobots import Bot as BaseBot
|
from ircrobots import Bot as BaseBot
|
||||||
|
@ -10,16 +13,23 @@ from botany import IRCBotany as Botany
|
||||||
from secrets import PASSWORD
|
from secrets import PASSWORD
|
||||||
|
|
||||||
channels = [
|
channels = [
|
||||||
"#bots",
|
# "#bots",
|
||||||
# "#club",
|
"#club",
|
||||||
|
"###",
|
||||||
]
|
]
|
||||||
helpmessage = "hey, i'm botanybot. i water plants on ~club. my prefix is % and i was made by randomuser. check out https://ttm.sh/Fki.txt for more information."
|
helpmessage = "hey, i'm botanybot. i water plants on ~club. my prefix is % and i was made by randomuser. check out https://ttm.sh/FoF.txt for more information."
|
||||||
|
|
||||||
|
def userchooser(user):
|
||||||
|
return random.choice([i for i in os.listdir(r"/home") if i[0] == user[0]])
|
||||||
|
|
||||||
class Server(BaseServer):
|
class Server(BaseServer):
|
||||||
admin = 'rndusr'
|
admin = 'rndusr'
|
||||||
async def msg(self, chan, string, user=None):
|
async def msg(self, chan, string, user=None):
|
||||||
if user == None: await self.send(build("PRIVMSG", [chan, string]))
|
if user == None: await self.send(build("PRIVMSG", [chan, string]))
|
||||||
else: await self.send(build("PRIVMSG", [chan, user + ": " + string]))
|
else: await self.send(build("PRIVMSG", [chan, user + ": " + string]))
|
||||||
|
def isDrunk(self):
|
||||||
|
if abs(self.drunkentime - int(time.time())) > 30: return True
|
||||||
|
return False
|
||||||
async def line_read(self, line: Line):
|
async def line_read(self, line: Line):
|
||||||
print(f"{self.name} < {line.format()}")
|
print(f"{self.name} < {line.format()}")
|
||||||
if line.command == "001":
|
if line.command == "001":
|
||||||
|
@ -27,6 +37,7 @@ class Server(BaseServer):
|
||||||
await self.msg("nickserv", "identify " + PASSWORD)
|
await self.msg("nickserv", "identify " + PASSWORD)
|
||||||
for i in channels:
|
for i in channels:
|
||||||
await self.send(build("JOIN", [i]))
|
await self.send(build("JOIN", [i]))
|
||||||
|
self.drunkentime = 0
|
||||||
if line.command == "PRIVMSG":
|
if line.command == "PRIVMSG":
|
||||||
user = line.hostmask.nickname
|
user = line.hostmask.nickname
|
||||||
channel = line.params[0]
|
channel = line.params[0]
|
||||||
|
@ -34,19 +45,34 @@ class Server(BaseServer):
|
||||||
await self.msg(channel, helpmessage, user)
|
await self.msg(channel, helpmessage, user)
|
||||||
if line.params[-1][0] == '%':
|
if line.params[-1][0] == '%':
|
||||||
commands = line.params[-1][1:].split(' ')
|
commands = line.params[-1][1:].split(' ')
|
||||||
|
if commands[0] == "vodka":
|
||||||
|
if self.isDrunk():
|
||||||
|
self.drunkentime = int(time.time())
|
||||||
|
await self.msg(channel, "glug glug glug", user)
|
||||||
|
else:
|
||||||
|
await self.msg(channel, "vodka? what's vodka? *burp*", user)
|
||||||
if commands[0] == "desc":
|
if commands[0] == "desc":
|
||||||
if len(commands) == 2:
|
if len(commands) == 2:
|
||||||
|
if self.isDrunk():
|
||||||
b = Botany(commands[1])
|
b = Botany(commands[1])
|
||||||
|
else:
|
||||||
|
b = Botany(userchooser(commands[1]))
|
||||||
await self.msg(channel, b.plantDescription(), user)
|
await self.msg(channel, b.plantDescription(), user)
|
||||||
else:
|
else:
|
||||||
await self.msg(channel, "specify user", user)
|
await self.msg(channel, "specify user", user)
|
||||||
elif commands[0] == "water":
|
elif commands[0] == "water":
|
||||||
if len(commands) == 2:
|
if len(commands) == 2:
|
||||||
|
if self.isDrunk():
|
||||||
b = Botany(commands[1])
|
b = Botany(commands[1])
|
||||||
if(b.water("{} (via IRC)".format(user))):
|
if b.water("{} (via IRC)".format(user)):
|
||||||
await self.msg(channel, b.watered(), user)
|
await self.msg(channel, b.watered(), user)
|
||||||
else:
|
else:
|
||||||
await self.msg(channel, b.cantWater(), user)
|
await self.msg(channel, b.cantWater(), user)
|
||||||
|
else:
|
||||||
|
b = Botany(userchooser(commands[1]))
|
||||||
|
while not b.water("{} (via IRC".format(user)):
|
||||||
|
b = Botany(userchooser(commands[1]))
|
||||||
|
await self.msg(channel, b.watered(), user)
|
||||||
elif commands[0] == "help":
|
elif commands[0] == "help":
|
||||||
await self.msg(channel, helpmessage, user)
|
await self.msg(channel, helpmessage, user)
|
||||||
elif commands[0] == "join":
|
elif commands[0] == "join":
|
||||||
|
|
Loading…
Reference in New Issue