Merge pull request #7 from KevinCaires/110d

Version 2022.08.18b
pull/3/head
Kevin Caires 4 years ago committed by GitHub
commit c1560b8479
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

11
motd

@ -0,0 +1,11 @@
▄▄ ▄ ▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄ ▄▄▄ ▄▄▄▄▄▄▄
█ █ █ █ █ █ ▄ █ █ █ █
█ █▄█ █ ▄▄▄█ ▄▄▄█ █▄█ █ █ █ ▄▄▄█
█ █ █▄▄▄█ █▄▄▄█ █ █ █ █▄▄▄
█ ▄ █ ▄▄▄█ ▄▄▄█ ▄ ██ █▄▄▄█ ▄▄▄█
█ █ █ █ █▄▄▄█ █▄▄▄█ █▄█ █ █ █▄▄▄
█▄█ █▄▄█▄▄▄▄▄▄▄█▄▄▄▄▄▄▄█▄▄▄▄▄▄▄█▄▄▄▄▄▄▄█▄▄▄▄▄▄▄█
Neeble version: 1.1
You can help the development of neeble in
https://github.com/KevinCaires/neeble
Thank you!

@ -6,7 +6,7 @@ from random import choice
from discord.ext import commands
from utils.database import get_by_id, get_quotes, remove_quote, set_quote
from utils.database import get_by_id, get_quotes, remove_quote, set_quote, count_quotes
client = commands.Bot(command_prefix='--')
logger = logging.getLogger(__name__)
@ -16,10 +16,10 @@ quote_id_stack = []
@client.command(aliases=['q'])
async def quote(bot: object, *quote: str) -> str:
"""
Save a quote into database.
Saves a quote into the database.
"""
if not quote:
return await bot.send("You're not my mute uncle, tell me something to remember.\n(You have'nt provided a quote")
return await bot.send('You\'re not my mute uncle, tell me something to remember.\n(You haven\'t provided a quote)')
quote = ' '.join(quote)
@ -39,7 +39,7 @@ async def quote(bot: object, *quote: str) -> str:
@client.command(aliases=['rq'])
async def random_quote(bot: object) -> str:
"""
Get an random quote from database.
Get a random quote from the database.
"""
quotes = get_quotes(quote_id_stack)
stack_limit = int((len(quotes) * .25))
@ -49,7 +49,7 @@ async def random_quote(bot: object) -> str:
quote_id_stack.pop(0)
quotes = get_quotes(quote_id_stack)
elif not quotes:
return await bot.send("You've got no quotes saved yet.\n(Save quotes by using `--q <quote`")
return await bot.send('You\'ve got no quotes saved yet.\n(Save quotes by using `--q <quote`)')
chosen_one = choice(quotes)
quote_id_stack.append(chosen_one.id)
@ -70,15 +70,15 @@ async def random_quote(bot: object) -> str:
@client.command(aliases=['qid'])
async def by_id(bot, _id: int=None) -> str:
"""
Get quote by ID.
Gets one quote by ID.
"""
syntax = "`--qid <quote id>`"
if not _id:
return await bot.send(f"_If you don't tell me the ID, how the fuck do you expect me to quote it to you!?_\n(The correct syntax is {syntax}")
return await bot.send(f"_If you don't tell me the ID, how the fuck do you expect me to quote it to you!?_\n(The correct syntax is {syntax})")
if not isinstance(_id, int):
return await bot.send(f"_Don't fuck with me, you asshole. The ID needs to be an interger!_\n(The correct syntax is {syntax}")
return await bot.send(f"_Don't fuck with me, you asshole. The ID needs to be an interger!_\n(The correct syntax is {syntax})")
quote = get_by_id(_id)
@ -98,20 +98,20 @@ async def by_id(bot, _id: int=None) -> str:
@client.command(aliases=['dq'])
async def delete_quote(bot, _id: int=None) -> str:
"""
Delete one quote by database ID.
Deletes one quote by ID.
"""
syntax = "`--dq <quote id>`"
roles = [r.name for r in bot.author.roles]
if not 'Operador' in roles:
return await bot.send("_And who the fuck do **YOU** think you are!?_.\n"\
"(You don't have the necessary role for this command")
"(You don't have the necessary role for this command)")
if not _id:
return await bot.send(f"_If you don't tell me the ID, how the fuck do you expect me to delete it to you!?_\n(The correct syntax is {syntax}")
return await bot.send(f"_If you don't tell me the ID, how the fuck do you expect me to delete it to you!?_\n(The correct syntax is {syntax})")
if not isinstance(_id, int):
return await bot.send(f"_Don't fuck with me, you asshole. The ID needs to be an interger!_\n(The correct syntax is {syntax}")
return await bot.send(f"_Don't fuck with me, you asshole. The ID needs to be an interger!_\n(The correct syntax is {syntax})")
quote = get_by_id(_id)
@ -134,3 +134,38 @@ async def queue_stack(bot: object) -> str:
"""
return await bot.send('A list of the 5 latest message IDs follows:'\
f' `{",".join(str(q) for q in quote_id_stack[-5:])}`')
@client.command(aliases=['cq', 'cquotes'])
async def quote_count(bot: object) -> str:
"""
Outputs a quote count from the database
"""
# For len(amount) to work, first it needs to be converted into str
amount = count_quotes()
amount = str(amount)
amount = amount[1:len(amount)][:-2]
msg = "Quote count: `" + amount + "`"
return await bot.send(msg)
@client.command(aliases=['v', 'version'])
async def info(bot: object) -> str:
"""
Displays the bot's information
"""
roles = [r.name for r in bot.author.roles]
if not 'Operador' in roles:
return await bot.send("_And who the fuck do **YOU** think you are!?_.\n"\
"(You don't have the necessary role for this command)")
motd = open("./motd", mode='r')
text = motd.readlines()
fullbanner = ""
for lines in text:
fullbanner = fullbanner + lines
msg = f'''```\n''' + fullbanner + f'''\n```'''
return await bot.send(msg)

@ -123,3 +123,17 @@ def remove_quote(_id: int) -> bool:
return True
except Exception:
return False
def count_quotes() -> int:
"""
Counts the amount of quotes in the database
"""
_sql = f'''
select count(*) from neeble_quotes
'''
with Cursor(MYSQL_CONFIG) as cursor:
cursor.execute(_sql)
count = cursor.fetchone()
return count
Loading…
Cancel
Save