From 2f952a044fe7dd8ffcb0cc2d8e378f5930e0fbdc Mon Sep 17 00:00:00 2001 From: Juan Da Don <_quentin_@live.com> Date: Tue, 5 Sep 2023 04:23:18 -0400 Subject: [PATCH 1/6] Fixed the commands and bot now works. --- Cogs/Json/cdb.json | 10 ++++++++++ Cogs/app.py | 17 +++++++++++++++-- Email/db.py | 15 ++++++++++++--- Email/fetchmail.py | 9 ++++++++- Run.py | 34 +++++++++++++++++++++++----------- config/config.json | 17 +++++++++-------- 6 files changed, 77 insertions(+), 25 deletions(-) diff --git a/Cogs/Json/cdb.json b/Cogs/Json/cdb.json index 1ff1c65..8ee46f6 100644 --- a/Cogs/Json/cdb.json +++ b/Cogs/Json/cdb.json @@ -1,4 +1,14 @@ { "members": { + "1119308131932049459": { + "open": 1, + "date": "2023-09-05 03:46:08.686633", + "id": 1119308131932049459 + }, + "1137319866693599282": { + "open": 1, + "date": "2023-09-05 03:49:56.857832", + "id": 1137319866693599282 + } } } \ No newline at end of file diff --git a/Cogs/app.py b/Cogs/app.py index bc06b45..a1f2c75 100644 --- a/Cogs/app.py +++ b/Cogs/app.py @@ -1,3 +1,5 @@ +import pathlib + import discord import json import random @@ -11,6 +13,15 @@ import Email.fetchmail as fetch import Cogs.Json.jshelper as jshelper from discord.ext.commands.cooldowns import BucketType +import logging + +logger = logging.getLogger(__name__) +logger.setLevel(logging.DEBUG) +log_formatter = logging.Formatter('%(levelname)s: %(asctime)s - %(message)s') +log_file_handler = logging.FileHandler(filename=f'{__name__}.log',mode='a') +log_file_handler.setFormatter(log_formatter) +logger.addHandler(log_file_handler) + t = BucketType.user rate = 1 @@ -173,6 +184,8 @@ def check(reaction, user): embed.add_field(name=f"Price: ${price} \n{payment}\nNote: {note}\nMake sure you send the exact amount with the NOTE.", value=f"This page will timeout in 30 mins.\nClick {tick} once you have sent the payment.") msg = await ctx.author.send(embed=embed) + await ctx.author.send("Here is an example of how to fill out the cashapp form.", file=discord.File('Screenshots/example_cashapp.jpg')) + await ctx.author.send("Below is the note so you can copy and paste:") await ctx.author.send(note) await msg.add_reaction(tick) try: @@ -200,5 +213,5 @@ async def fetch_email(self): fetch.fetchmail() -def setup(bot): - bot.add_cog(app(bot)) +async def setup(bot): + await bot.add_cog(app(bot)) diff --git a/Email/db.py b/Email/db.py index c4e3a5a..d2e9e19 100644 --- a/Email/db.py +++ b/Email/db.py @@ -1,5 +1,14 @@ import sqlite3 import os +import logging + +logger = logging.getLogger(__name__) +logger.setLevel(logging.CRITICAL) +log_formatter = logging.Formatter('%(levelname)s: %(asctime)s - %(message)s') +log_file_handler = logging.FileHandler(filename=f'{__name__}.log',mode='a') +log_file_handler.setFormatter(log_formatter) +logger.addHandler(log_file_handler) + DB_URL = os.getcwd() + '/Email/payrecs.db' @@ -8,9 +17,9 @@ def create_connection(db_file): conn = None try: conn = sqlite3.connect(db_file) - print("Connected to db") - except Error as e: - print("error in connecting to db") + logger.debug('Connected to db') + except Exception as e: + logger.error(f'There was an error connecting to the database below is the exception: \n\n {e}\n\n__________________________________') finally: if conn: return conn diff --git a/Email/fetchmail.py b/Email/fetchmail.py index bfe6cc2..d586346 100644 --- a/Email/fetchmail.py +++ b/Email/fetchmail.py @@ -6,7 +6,14 @@ import json import os import Cogs.Json.jshelper as jshelper +import logging +logger = logging.getLogger(__name__) +logger.setLevel(logging.CRITICAL) +log_formatter = logging.Formatter('%(levelname)s: %(asctime)s - %(message)s') +log_file_handler = logging.FileHandler(filename=f'{__name__}.log',mode='a') +log_file_handler.setFormatter(log_formatter) +logger.addHandler(log_file_handler) def fetchmail(): try: @@ -52,4 +59,4 @@ def fetchmail(): mail.close() mail.logout() except Exception as e: - print(e) + logger.debug(e) diff --git a/Run.py b/Run.py index d7c4164..457c255 100644 --- a/Run.py +++ b/Run.py @@ -6,16 +6,24 @@ import json import Cogs.Json.jshelper as jshelper import sys +import logging + +logger = logging.getLogger(__name__) +logger.setLevel(logging.CRITICAL) +log_formatter = logging.Formatter('%(levelname)s: %(asctime)s - %(message)s') +log_file_handler = logging.FileHandler(filename=f'{__name__}.log',mode='a') +log_file_handler.setFormatter(log_formatter) +logger.addHandler(log_file_handler) jshelper.prestart() data = jshelper.openf("/config/config.json") if data["token"] == "": - print("Missing Config.") + logger.critical('Missing Config') sys.exit() data = jshelper.openf("/config/config.json") TOKEN = data["token"] -intents = discord.Intents.default() +intents = discord.Intents.all() intents.members = True bot = commands.Bot(command_prefix=".", intents = intents) bot.remove_command('help') @@ -23,21 +31,21 @@ @bot.event async def on_ready(): - print("bot is online.") + logger.debug('Bot Online') @bot.command() @commands.has_permissions(administrator=True) async def load(ctx, name): bot.load_extension(f'Cogs.{name}') - print(f"The {name} cog has been loaded successfully.") + logger.debug(f"The {name} cog has been loaded successfully.") @bot.command() @commands.has_permissions(administrator=True) async def unload(ctx, name): bot.unload_extension(f'Cogs.{name}') - print(f"The {name} cog has been unloaded successfully.") + logger.debug(f"The {name} cog has been unloaded successfully.") @bot.command() @@ -45,7 +53,7 @@ async def unload(ctx, name): async def reload(ctx, name): bot.unload_extension(f'Cogs.{name}') bot.load_extension(f'Cogs.{name}') - print(f"The {name} cog has been reloaded successfully.") + logger.debug(f"The {name} cog has been reloaded successfully.") @bot.event @@ -65,11 +73,15 @@ async def all(ctx): for filename in os.listdir("Cogs"): if filename.endswith('.py'): bot.load_extension(f'Cogs.{filename[:-3]}') - print("All cogs has been reloaded.") - + logger.debug("All cogs has been reloaded.") -for filename in os.listdir("Cogs"): - if filename.endswith('.py'): - bot.load_extension(f'Cogs.{filename[:-3]}') +async def load_cogs(): + try: + logger.debug('Loading cogs') + await bot.load_extension('Cogs.app') + logger.debug('App Cog loaded') + except Exception as e: + logger.critical(f'There was an error loading the cogs. Below is the exception: \n\n {e} \n\n________________________') +asyncio.run(load_cogs()) bot.run(TOKEN) \ No newline at end of file diff --git a/config/config.json b/config/config.json index 82ec257..e51b54f 100644 --- a/config/config.json +++ b/config/config.json @@ -1,11 +1,12 @@ + { - "token": "", - "role": "", + "token": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "role": "donator", "Price": 10, - "cashapp": "", - "venmo": "", + "cashapp": "test", + "venmo": "test", "note":"1a001-", - "user":"", - "password":"", - "imap_url":"" -} + "user":"test@gmail.com", + "password":"vaadsgagcqlgzsox", + "imap_url":"imap.gmail.com" +} \ No newline at end of file From 3a646302d75e644b6777369eb971b297d1222893 Mon Sep 17 00:00:00 2001 From: Juan Da Don <_quentin_@live.com> Date: Tue, 5 Sep 2023 04:24:54 -0400 Subject: [PATCH 2/6] Fixed the commands and bot now works. --- Screenshots/example_cashapp.jpg | Bin 0 -> 120533 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 Screenshots/example_cashapp.jpg diff --git a/Screenshots/example_cashapp.jpg b/Screenshots/example_cashapp.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ed37ed4f7ec20b7fae9e95df83e55e2550a637b3 GIT binary patch literal 120533 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 Date: Tue, 5 Sep 2023 13:09:01 -0400 Subject: [PATCH 3/6] Add link to cashapp when donating. --- Cogs/app.py | 1 + 1 file changed, 1 insertion(+) diff --git a/Cogs/app.py b/Cogs/app.py index a1f2c75..4f877b3 100644 --- a/Cogs/app.py +++ b/Cogs/app.py @@ -187,6 +187,7 @@ def check(reaction, user): await ctx.author.send("Here is an example of how to fill out the cashapp form.", file=discord.File('Screenshots/example_cashapp.jpg')) await ctx.author.send("Below is the note so you can copy and paste:") await ctx.author.send(note) + await ctx.author.send(f"https://cash.app/{payment.split(': ')[-1]}") await msg.add_reaction(tick) try: reaction, ctx.author = await self.bot.wait_for('reaction_add', timeout=1800.0, check=check) From 7027e91e78d391f8ddb3b7ab87548c1798f370cb Mon Sep 17 00:00:00 2001 From: Juan Da Don <_quentin_@live.com> Date: Thu, 7 Sep 2023 23:27:53 -0400 Subject: [PATCH 4/6] Added code to delete donate message. --- Cogs/app.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Cogs/app.py b/Cogs/app.py index 4f877b3..40af9db 100644 --- a/Cogs/app.py +++ b/Cogs/app.py @@ -138,7 +138,9 @@ async def cancel(self, ctx): @commands.cooldown(rate, per, t) @commands.command(ignore_extra=False) async def donate(self, ctx): + await ctx.message.delete() await ctx.channel.send(f'{ctx.author.mention} Please check dms!') + one = '1️⃣' two = '2️⃣' nay = '❌' @@ -170,6 +172,7 @@ def check(reaction, user): else: if str(reaction.emoji) == one: payment = self.ca + qr = f"https://cash.app/qr/{payment}?size=288&margin=0" elif str(reaction.emoji) == two: payment = self.vm else: From 633c56f69ec0539d57f48233f3d24eee0cbc748a Mon Sep 17 00:00:00 2001 From: Juan Da Don <_quentin_@live.com> Date: Fri, 8 Sep 2023 22:32:12 -0400 Subject: [PATCH 5/6] Added transaction IDs saved to json file with name. Also added a who command to look up transaction IDs and see it's assosiated with. --- Cogs/app.py | 103 ++++++++++++++++++++++++++++++++++++--------- Run.py | 6 ++- config/config.json | 2 +- 3 files changed, 87 insertions(+), 24 deletions(-) diff --git a/Cogs/app.py b/Cogs/app.py index 40af9db..7792bf7 100644 --- a/Cogs/app.py +++ b/Cogs/app.py @@ -1,4 +1,3 @@ -import pathlib import discord import json @@ -14,9 +13,18 @@ import Cogs.Json.jshelper as jshelper from discord.ext.commands.cooldowns import BucketType import logging +import string +from hashlib import sha256 as hsh +from pathlib import Path + +upper_chars = string.ascii_uppercase +lower_chars = string.ascii_lowercase +nums = string.digits +special_chars = string.punctuation + logger = logging.getLogger(__name__) -logger.setLevel(logging.DEBUG) +logger.setLevel(logging.CRITICAL) log_formatter = logging.Formatter('%(levelname)s: %(asctime)s - %(message)s') log_file_handler = logging.FileHandler(filename=f'{__name__}.log',mode='a') log_file_handler.setFormatter(log_formatter) @@ -101,27 +109,78 @@ async def setrole(self, ctx, role: discord.Role): embed = discord.Embed(title=f"{role} has been set as the role.", color=0xf50000) await ctx.send(embed=embed) + + async def make_token(self,member): + try: + t = datetime.now() + logger.debug(f"make_token: t = {t}") + token_string = f"{member.id}-{t}" + logger.debug(f"make_token: token_string = {token_string}") + transaction_token = hsh(token_string.encode('utf-8')).hexdigest() + logger.debug(f"make_token: token = {transaction_token}") + token_dir = Path('token_files') + token_file = Path(token_dir, "tokens.json") + token_dir.mkdir(parents=True, exist_ok=True) + logger.debug(f"make_token: tokens_dir created.") + if not token_file.is_file(): + with open(token_file, 'w') as f: + f.write("{}") + logger.debug(f"make_token: token file created.") + + with open(token_file, 'r') as f: + logger.debug(f"make_token: token file open") + tokens = json.load(f) + + info = {transaction_token:member.name} + tokens.update(info) + with open(token_file, 'w') as f: + json.dump(tokens,f, indent=6) + await member.send(f"If you are ask for a transaction ID please provide ID: {transaction_token}\n\n") + logger.debug(f"make_token: token sent to user.") + except Exception as e: + logger.critical(f"There was an error generating and sending the transaction ID. The exception is below.\n\n{e}") + + @commands.command(pass_context=True, name="who") + @commands.has_permissions(administrator=True) + async def who(self,ctx,*,transaction_id): + await ctx.message.delete() + tokens_dir = Path("token_files") + token_file = Path(tokens_dir,'tokens.json') + try: + with open(token_file,'r') as f: + tokens = json.load(f) + name = tokens.get(transaction_id) + await ctx.send(name) + except Exception as e: + await ctx.send("Sorry something went wrong.") + logger.debug(f"There was an issue with who. The exception traceback is below.\n\n{e}\n\n") + + @commands.command() @commands.has_permissions(administrator=True) async def setpayment(self, ctx, type, addy): - type = str.lower(type) - if type == "cashapp": - data = jshelper.openf("/config/config.json") - data["cashapp"] = str(addy) - self.ca = f'Cashapp: ${str(addy)}' - jshelper.savef("/config/config.json", data) - embed = discord.Embed(title=f"${addy} has been set as the cashapp address.", color=0xf50000) - await ctx.send(embed=embed) - elif type == "venmo": - data = jshelper.openf("/config/config.json") - data["venmo"] = str(addy) - self.vm = f'Venmo: ${str(addy)}' - jshelper.savef("/config/config.json", data) - embed = discord.Embed(title=f"@{addy} has been set as the Venmo address.", color=0xf50000) - await ctx.send(embed=embed) - else: - embed = discord.Embed(title=f'Error, Please use ".setpayment (cashapp/venmo) address"', color=0xf50000) - await ctx.send(embed=embed) + try: + type = str.lower(type) + if type == "cashapp": + data = jshelper.openf("/config/config.json") + data["cashapp"] = str(addy) + self.ca = f'Cashapp: ${str(addy)}' + jshelper.savef("/config/config.json", data) + embed = discord.Embed(title=f"${addy} has been set as the cashapp address.", color=0xf50000) + await ctx.send(embed=embed) + elif type == "venmo": + data = jshelper.openf("/config/config.json") + data["venmo"] = str(addy) + self.vm = f'Venmo: ${str(addy)}' + jshelper.savef("/config/config.json", data) + embed = discord.Embed(title=f"@{addy} has been set as the Venmo address.", color=0xf50000) + await ctx.send(embed=embed) + else: + embed = discord.Embed(title=f'Error, Please use ".setpayment (cashapp/venmo) address"', color=0xf50000) + await ctx.send(embed=embed) + + except Exception as e: + logger.critical(f'Set Payment Failed! The exception is below. \n\n{e}') async def assignrole(self, ctx, role): role = get(ctx.guild.roles, name=role) @@ -189,9 +248,11 @@ def check(reaction, user): msg = await ctx.author.send(embed=embed) await ctx.author.send("Here is an example of how to fill out the cashapp form.", file=discord.File('Screenshots/example_cashapp.jpg')) await ctx.author.send("Below is the note so you can copy and paste:") - await ctx.author.send(note) + await ctx.author.send(f"Note: {note}\n\n") + await self.make_token(ctx.author) await ctx.author.send(f"https://cash.app/{payment.split(': ')[-1]}") await msg.add_reaction(tick) + try: reaction, ctx.author = await self.bot.wait_for('reaction_add', timeout=1800.0, check=check) except asyncio.TimeoutError: diff --git a/Run.py b/Run.py index 457c255..b30f415 100644 --- a/Run.py +++ b/Run.py @@ -83,5 +83,7 @@ async def load_cogs(): logger.debug('App Cog loaded') except Exception as e: logger.critical(f'There was an error loading the cogs. Below is the exception: \n\n {e} \n\n________________________') -asyncio.run(load_cogs()) -bot.run(TOKEN) \ No newline at end of file + +if __name__ == "__main__": + asyncio.run(load_cogs()) + bot.run(TOKEN) \ No newline at end of file diff --git a/config/config.json b/config/config.json index e51b54f..8692edb 100644 --- a/config/config.json +++ b/config/config.json @@ -1,6 +1,6 @@ { - "token": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "token": "MTE0OTczNzUwODIxNzgzNTU1MA.GXWJp7.6OtFabl5GLZBT0ZsGa1P7HIzIoGeWD7nk4Y-3k", "role": "donator", "Price": 10, "cashapp": "test", From 199c38f57fe4f1610175d0d39f31dffd70f251d4 Mon Sep 17 00:00:00 2001 From: Juan Da Don <_quentin_@live.com> Date: Fri, 8 Sep 2023 23:01:27 -0400 Subject: [PATCH 6/6] Changed the bot a bit to have users add the transaction id to the cashapp note. Will be fixing the bot to look for it later on. --- Cogs/app.py | 16 ++++++++++------ config/config.json | 2 +- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/Cogs/app.py b/Cogs/app.py index 7792bf7..2116f1c 100644 --- a/Cogs/app.py +++ b/Cogs/app.py @@ -116,7 +116,7 @@ async def make_token(self,member): logger.debug(f"make_token: t = {t}") token_string = f"{member.id}-{t}" logger.debug(f"make_token: token_string = {token_string}") - transaction_token = hsh(token_string.encode('utf-8')).hexdigest() + transaction_token = hsh(token_string.encode('utf-8')).hexdigest()[:50] logger.debug(f"make_token: token = {transaction_token}") token_dir = Path('token_files') token_file = Path(token_dir, "tokens.json") @@ -135,7 +135,8 @@ async def make_token(self,member): tokens.update(info) with open(token_file, 'w') as f: json.dump(tokens,f, indent=6) - await member.send(f"If you are ask for a transaction ID please provide ID: {transaction_token}\n\n") + await member.send("Below is your Transaciton ID") + await member.send(transaction_token) logger.debug(f"make_token: token sent to user.") except Exception as e: logger.critical(f"There was an error generating and sending the transaction ID. The exception is below.\n\n{e}") @@ -243,12 +244,15 @@ def check(reaction, user): jshelper.makeopen(ctx.author.id) embed = discord.Embed(title=f'Payment via {payment}',color=0xf50000) - embed.add_field(name=f"Price: ${price} \n{payment}\nNote: {note}\nMake sure you send the exact amount with the NOTE.", - value=f"This page will timeout in 30 mins.\nClick {tick} once you have sent the payment.") + # embed.add_field(name=f"Price: ${price} \n{payment}\nNote: {note}\nMake sure you send the exact amount with the NOTE.", + # value=f"This page will timeout in 30 mins.\nClick {tick} once you have sent the payment.") + embed.add_field( + name=f"Price: ${price} \n{payment}\nNote: Your Transaction ID \nMake sure you send the exact amount with the Transaction ID in the NOTE or For field.", + value=f"This page will timeout in 30 mins.\nClick {tick} once you have sent the payment.") msg = await ctx.author.send(embed=embed) - await ctx.author.send("Here is an example of how to fill out the cashapp form.", file=discord.File('Screenshots/example_cashapp.jpg')) + # await ctx.author.send("Here is an example of how to fill out the cashapp form.", file=discord.File('Screenshots/example_cashapp.jpg')) await ctx.author.send("Below is the note so you can copy and paste:") - await ctx.author.send(f"Note: {note}\n\n") + # await ctx.author.send(f"Note: {note}\n\n") await self.make_token(ctx.author) await ctx.author.send(f"https://cash.app/{payment.split(': ')[-1]}") await msg.add_reaction(tick) diff --git a/config/config.json b/config/config.json index 8692edb..a97a9d3 100644 --- a/config/config.json +++ b/config/config.json @@ -1,6 +1,6 @@ { - "token": "MTE0OTczNzUwODIxNzgzNTU1MA.GXWJp7.6OtFabl5GLZBT0ZsGa1P7HIzIoGeWD7nk4Y-3k", + "token": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "role": "donator", "Price": 10, "cashapp": "test",