Untitled
unknown
plain_text
2 years ago
17 kB
9
Indexable
import discord
from discord.ext import commands
import datetime
import os
# Initialize the bot
intents = discord.Intents.all()
bot = commands.Bot(command_prefix='!', intents=intents)
# Dictionary to store balances for users
balances = {}
# Dictionary to store transaction history for users
transaction_history = {}
# Path to the log file
LOG_FILE_PATH = "transaction_log.txt"
# Function to log a transaction
def log_transaction(user_id, transaction):
timestamp = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
log_entry = f"[{timestamp}] User ID {user_id}: {transaction}\n"
with open(LOG_FILE_PATH, "a") as log_file:
log_file.write(log_entry)
# Function to retrieve a summary for a given day
def get_daily_summary(date):
if not os.path.exists(LOG_FILE_PATH):
with open(LOG_FILE_PATH, "w") as log_file:
log_file.write("")
with open(LOG_FILE_PATH, "r") as log_file:
lines = log_file.readlines()
total_deposits = 0
total_withdrawals = 0
for line in lines:
if line.startswith(f"[{date}"):
parts = line.strip().split(" ")
amount = float(parts[1][1:]) # Adjusted to remove the '$' sign
transaction_type = parts[2]
if transaction_type == "Deposited":
total_deposits += amount
elif transaction_type == "Withdrew":
total_withdrawals += amount
final_balance = total_deposits - total_withdrawals
if total_deposits == 0 and total_withdrawals == 0:
return None
summary = f"Total Deposits: ${total_deposits}\nTotal Withdrawals: ${total_withdrawals}\nFinal Balance: ${final_balance}"
return summary
@bot.event
async def on_ready():
print(f'Logged in as {bot.user}')
@bot.command()
async def menu(ctx):
embed = discord.Embed(
colour=discord.Colour.pink(),
title="BROTHERHOOD BANKING SYSTEM",
description="Welcome to Brotherhood Bank",
)
embed.set_thumbnail(url="https://media.discordapp.net/attachments/1156415255405150349/1159428494082719784/Logo_BH.png?ex=6530fcee&is=651e87ee&hm=0be6b2e14a3bc6011c399619cf1fb36d8a882c1616f562c330540802a38c214c&=&width=1040&height=701") # Replace with your thumbnail URL
embed.set_author(name="Created for BrotherHood by Jimm yK", icon_url="https://media.discordapp.net/attachments/1156415255405150349/1159428494082719784/Logo_BH.png?ex=6530fcee&is=651e87ee&hm=0be6b2e14a3bc6011c399619cf1fb36d8a882c1616f562c330540802a38c214c&=&width=1040&height=701")
embed.add_field(name="MENU OPTIONS\n\n", value="\n\n[ 🤑 ] !deposit <- for deposit money\n\n[ 🤒 ] !withdraw <- for withdraw money\n\n[ 🧐 ] !balance <- for check balance", inline=False)
await ctx.send(embed=embed)
@bot.command()
async def deposit(ctx, amount: int):
user = ctx.author
if user.id not in balances:
balances[user.id] = 0
balances[user.id] += amount
# Create an embed
embed = discord.Embed(
colour=discord.Colour.pink(),
title="BROTHERHOOD BANKING SYSTEM",
description=f"Deposited ${amount}. Your balance is now ${balances[user.id]}."
)
embed.set_thumbnail(url="https://media.discordapp.net/attachments/1156415255405150349/1159428494082719784/Logo_BH.png?ex=6530fcee&is=651e87ee&hm=0be6b2e14a3bc6011c399619cf1fb36d8a882c1616f562c330540802a38c214c&=&width=1040&height=701")
embed.set_author(name="Created for BrotherHood by Jimm yK", icon_url="https://media.discordapp.net/attachments/1156415255405150349/1159428494082719784/Logo_BH.png?ex=6530fcee&is=651e87ee&hm=0be6b2e14a3bc6011c399619cf1fb36d8a882c1616f562c330540802a38c214c&=&width=1040&height=701")
# Display the embed
await ctx.send(embed=embed)
# Log the deposit transaction with the correct date format
log_transaction(ctx.author.id, f"Deposited ${amount} on {datetime.datetime.now().strftime('%Y-%m-%d')}")
@bot.command()
async def withdraw(ctx, amount: int):
user = ctx.author
if user.id not in balances:
embed = discord.Embed(
colour=discord.Colour.pink(),
title="BROTHERHOOD BANKING SYSTEM",
description="You don't have anything in your account. Use !deposit to create one 🫡."
)
embed.set_thumbnail(url="https://media.discordapp.net/attachments/1156415255405150349/1159428494082719784/Logo_BH.png?ex=6530fcee&is=651e87ee&hm=0be6b2e14a3bc6011c399619cf1fb36d8a882c1616f562c330540802a38c214c&=&width=1040&height=701")
embed.set_author(name="Created for BrotherHood by Jimm yK", icon_url="https://media.discordapp.net/attachments/1156415255405150349/1159428494082719784/Logo_BH.png?ex=6530fcee&is=651e87ee&hm=0be6b2e14a3bc6011c399619cf1fb36d8a882c1616f562c330540802a38c214c&=&width=1040&height=701")
await ctx.send(embed=embed)
return
if balances[user.id] < amount:
embed = discord.Embed(
colour=discord.Colour.pink(),
title="BROTHERHOOD BANKING SYSTEM",
description="Insufficient funds 🥵."
)
embed.set_thumbnail(url="https://media.discordapp.net/attachments/1156415255405150349/1159428494082719784/Logo_BH.png?ex=6530fcee&is=651e87ee&hm=0be6b2e14a3bc6011c399619cf1fb36d8a882c1616f562c330540802a38c214c&=&width=1040&height=701")
embed.set_author(name="Created for BrotherHood by Jimm yK", icon_url="https://media.discordapp.net/attachments/1156415255405150349/1159428494082719784/Logo_BH.png?ex=6530fcee&is=651e87ee&hm=0be6b2e14a3bc6011c399619cf1fb36d8a882c1616f562c330540802a38c214c&=&width=1040&height=701")
await ctx.send(embed=embed)
return
balances[user.id] -= amount
# Create an embed
embed = discord.Embed(
colour=discord.Colour.pink(),
title="BROTHERHOOD BANKING SYSTEM",
description=f"Withdrew ${amount}. Your balance is now ${balances[user.id]}."
)
embed.set_thumbnail(url="https://media.discordapp.net/attachments/1156415255405150349/1159428494082719784/Logo_BH.png?ex=6530fcee&is=651e87ee&hm=0be6b2e14a3bc6011c399619cf1fb36d8a882c1616f562c330540802a38c214c&=&width=1040&height=701")
embed.set_author(name="Created for BrotherHood by Jimm yK", icon_url="https://media.discordapp.net/attachments/1156415255405150349/1159428494082719784/Logo_BH.png?ex=6530fcee&is=651e87ee&hm=0be6b2e14a3bc6011c399619cf1fb36d8a882c1616f562c330540802a38c214c&=&width=1040&height=701")
# Display the embed
await ctx.send(embed=embed)
# Log the withdrawal transaction with the correct date format
log_transaction(ctx.author.id, f"Withdrew ${amount} on {datetime.datetime.now().strftime('%Y-%m-%d')}")
@bot.command()
async def balance(ctx):
user = ctx.author
embed = discord.Embed(
colour=discord.Colour.pink(),
title="BROTHERHOOD BANKING SYSTEM",
description="Welcome to Brotherhood Bank"
)
embed.set_thumbnail(url="https://media.discordapp.net/attachments/1156415255405150349/1159428494082719784/Logo_BH.png?ex=6530fcee&is=651e87ee&hm=0be6b2e14a3bc6011c399619cf1fb36d8a882c1616f562c330540802a38c214c&=&width=1040&height=701") # Replace with your thumbnail URL
embed.set_author(name="Created for BrotherHood by Jimm yK", icon_url="https://media.discordapp.net/attachments/1156415255405150349/1159428494082719784/Logo_BH.png?ex=6530fcee&is=651e87ee&hm=0be6b2e14a3bc6011c399619cf1fb36d8a882c1616f562c330540802a38c214c&=&width=1040&height=701")
if user.id not in balances:
embed.add_field(name="Balance", value="You don't have anything in your account. Use !deposit to create one 🫡.")
else:
embed.add_field(name="Balance", value=f"Your balance is ${balances[user.id]}.")
await ctx.send(embed=embed)
import discord
from discord.ext import commands
import datetime
import os
# Initialize the bot
intents = discord.Intents.all()
bot = commands.Bot(command_prefix='!', intents=intents)
# Dictionary to store balances for users
balances = {}
# Dictionary to store transaction history for users
transaction_history = {}
# Path to the log file
LOG_FILE_PATH = "transaction_log.txt"
# Function to log a transaction
def log_transaction(user_id, transaction):
timestamp = datetime.datetime.now().strftime("[%d/%m/%Y %H:%M:%S]")
log_entry = f"{timestamp} User ID {user_id}: {transaction}\n"
with open(LOG_FILE_PATH, "a") as log_file:
log_file.write(log_entry)
def get_daily_summary(date):
if not os.path.exists(LOG_FILE_PATH):
return "No transactions found for the specified date."
with open(LOG_FILE_PATH, "r") as log_file:
lines = log_file.readlines()
total_deposits = 0
total_withdrawals = 0
for line in lines:
if line.startswith(date):
parts = line.strip().split(" ")
amount = float(parts[3][1:]) # Adjusted to remove the '$' sign
transaction_type = parts[4]
if transaction_type == "Deposited":
total_deposits += amount
elif transaction_type == "Withdrew":
total_withdrawals += amount
final_balance = total_deposits - total_withdrawals
if total_deposits == 0 and total_withdrawals == 0:
return "No transactions found for the specified date."
summary = f"Total Deposits: ${total_deposits}\nTotal Withdrawals: ${total_withdrawals}\nFinal Balance: ${final_balance}"
return summary
@bot.event
async def on_ready():
print(f'Logged in as {bot.user}')
@bot.command()
async def menu(ctx):
embed = discord.Embed(
colour=discord.Colour.pink(),
title="BROTHERHOOD BANKING SYSTEM",
description="Welcome to Brotherhood Bank",
)
embed.set_thumbnail(url="https://media.discordapp.net/attachments/1156415255405150349/1159428494082719784/Logo_BH.png?ex=6530fcee&is=651e87ee&hm=0be6b2e14a3bc6011c399619cf1fb36d8a882c1616f562c330540802a38c214c&=&width=1040&height=701") # Replace with your thumbnail URL
embed.set_author(name="Created for BrotherHood by Jimm yK", icon_url="https://media.discordapp.net/attachments/1156415255405150349/1159428494082719784/Logo_BH.png?ex=6530fcee&is=651e87ee&hm=0be6b2e14a3bc6011c399619cf1fb36d8a882c1616f562c330540802a38c214c&=&width=1040&height=701")
embed.add_field(name="MENU OPTIONS\n\n", value="\n\n[ 🤑 ] !deposit <- for deposit money\n\n[ 🤒 ] !withdraw <- for withdraw money\n\n[ 🧐 ] !balance <- for check balance", inline=False)
await ctx.send(embed=embed)
@bot.command()
async def deposit(ctx, amount: int):
user = ctx.author
if user.id not in balances:
balances[user.id] = 0
balances[user.id] += amount
# Create an embed
embed = discord.Embed(
colour=discord.Colour.pink(),
title="BROTHERHOOD BANKING SYSTEM",
description=f"Deposited ${amount}. Your balance is now ${balances[user.id]}."
)
embed.set_thumbnail(url="https://media.discordapp.net/attachments/1156415255405150349/1159428494082719784/Logo_BH.png?ex=6530fcee&is=651e87ee&hm=0be6b2e14a3bc6011c399619cf1fb36d8a882c1616f562c330540802a38c214c&=&width=1040&height=701")
embed.set_author(name="Created for BrotherHood by Jimm yK", icon_url="https://media.discordapp.net/attachments/1156415255405150349/1159428494082719784/Logo_BH.png?ex=6530fcee&is=651e87ee&hm=0be6b2e14a3bc6011c399619cf1fb36d8a882c1616f562c330540802a38c214c&=&width=1040&height=701")
# Display the embed
await ctx.send(embed=embed)
# Log the deposit transaction with the correct date format
log_transaction(ctx.author.id, f"Deposited ${amount} on {datetime.datetime.now().strftime('%Y-%m-%d')}")
@bot.command()
async def withdraw(ctx, amount: int):
user = ctx.author
if user.id not in balances:
embed = discord.Embed(
colour=discord.Colour.pink(),
title="BROTHERHOOD BANKING SYSTEM",
description="You don't have anything in your account. Use !deposit to create one 🫡."
)
embed.set_thumbnail(url="https://media.discordapp.net/attachments/1156415255405150349/1159428494082719784/Logo_BH.png?ex=6530fcee&is=651e87ee&hm=0be6b2e14a3bc6011c399619cf1fb36d8a882c1616f562c330540802a38c214c&=&width=1040&height=701")
embed.set_author(name="Created for BrotherHood by Jimm yK", icon_url="https://media.discordapp.net/attachments/1156415255405150349/1159428494082719784/Logo_BH.png?ex=6530fcee&is=651e87ee&hm=0be6b2e14a3bc6011c399619cf1fb36d8a882c1616f562c330540802a38c214c&=&width=1040&height=701")
await ctx.send(embed=embed)
return
if balances[user.id] < amount:
embed = discord.Embed(
colour=discord.Colour.pink(),
title="BROTHERHOOD BANKING SYSTEM",
description="Insufficient funds 🥵."
)
embed.set_thumbnail(url="https://media.discordapp.net/attachments/1156415255405150349/1159428494082719784/Logo_BH.png?ex=6530fcee&is=651e87ee&hm=0be6b2e14a3bc6011c399619cf1fb36d8a882c1616f562c330540802a38c214c&=&width=1040&height=701")
embed.set_author(name="Created for BrotherHood by Jimm yK", icon_url="https://media.discordapp.net/attachments/1156415255405150349/1159428494082719784/Logo_BH.png?ex=6530fcee&is=651e87ee&hm=0be6b2e14a3bc6011c399619cf1fb36d8a882c1616f562c330540802a38c214c&=&width=1040&height=701")
await ctx.send(embed=embed)
return
balances[user.id] -= amount
# Create an embed
embed = discord.Embed(
colour=discord.Colour.pink(),
title="BROTHERHOOD BANKING SYSTEM",
description=f"Withdrew ${amount}. Your balance is now ${balances[user.id]}."
)
embed.set_thumbnail(url="https://media.discordapp.net/attachments/1156415255405150349/1159428494082719784/Logo_BH.png?ex=6530fcee&is=651e87ee&hm=0be6b2e14a3bc6011c399619cf1fb36d8a882c1616f562c330540802a38c214c&=&width=1040&height=701")
embed.set_author(name="Created for BrotherHood by Jimm yK", icon_url="https://media.discordapp.net/attachments/1156415255405150349/1159428494082719784/Logo_BH.png?ex=6530fcee&is=651e87ee&hm=0be6b2e14a3bc6011c399619cf1fb36d8a882c1616f562c330540802a38c214c&=&width=1040&height=701")
# Display the embed
await ctx.send(embed=embed)
# Log the withdrawal transaction with the correct date format
log_transaction(ctx.author.id, f"Withdrew ${amount} on {datetime.datetime.now().strftime('%Y-%m-%d')}")
@bot.command()
async def balance(ctx):
user = ctx.author
embed = discord.Embed(
colour=discord.Colour.pink(),
title="BROTHERHOOD BANKING SYSTEM",
description="Welcome to Brotherhood Bank"
)
embed.set_thumbnail(url="https://media.discordapp.net/attachments/1156415255405150349/1159428494082719784/Logo_BH.png?ex=6530fcee&is=651e87ee&hm=0be6b2e14a3bc6011c399619cf1fb36d8a882c1616f562c330540802a38c214c&=&width=1040&height=701") # Replace with your thumbnail URL
embed.set_author(name="Created for BrotherHood by Jimm yK", icon_url="https://media.discordapp.net/attachments/1156415255405150349/1159428494082719784/Logo_BH.png?ex=6530fcee&is=651e87ee&hm=0be6b2e14a3bc6011c399619cf1fb36d8a882c1616f562c330540802a38c214c&=&width=1040&height=701")
if user.id not in balances:
embed.add_field(name="Balance", value="You don't have anything in your account. Use !deposit to create one 🫡.")
else:
embed.add_field(name="Balance", value=f"Your balance is ${balances[user.id]}.")
await ctx.send(embed=embed)
@bot.command()
async def summary(ctx, date: str):
# Get the summary for the provided date
daily_summary = get_daily_summary(date)
# Create an embed
embed = discord.Embed(
colour=discord.Colour.pink(),
title="BROTHERHOOD BANKING SYSTEM",
description="Welcome to Brotherhood Bank"
)
embed.set_thumbnail(url="https://media.discordapp.net/attachments/1156415255405150349/1159428494082719784/Logo_BH.png?ex=6530fcee&is=651e87ee&hm=0be6b2e14a3bc6011c399619cf1fb36d8a882c1616f562c330540802a38c214c&=&width=1040&height=701") # Replace with your thumbnail URL
embed.set_author(name="Created for BrotherHood by Jimm yK", icon_url="https://media.discordapp.net/attachments/1156415255405150349/1159428494082719784/Logo_BH.png?ex=6530fcee&is=651e87ee&hm=0be6b2e14a3bc6011c399619cf1fb36d8a882c1616f562c330540802a38c214c&=&width=1040&height=701")
# Set the description based on the daily summary
embed.description = daily_summary if daily_summary else "No transactions found for the specified date."
await ctx.send(embed=embed)Editor is loading...