1
0
forked from sass/tipibot

Refacor emoijs to use application emoijs

This commit is contained in:
Rene Arumetsa
2026-06-03 18:34:29 +03:00
10 changed files with 244 additions and 127 deletions

View File

@@ -10,6 +10,7 @@ import discord
from discord import app_commands
from core import economy
from core.emoji import EMOJI as E
import strings as S
@@ -288,12 +289,12 @@ def register_economy_extra_commands(
# /jailbreak - Monopoly-style dice escape
# -----------------------------------------------------------------------
_DICE_EMOJI = [
"<:TipiYKS:1483103190491856916>",
"<:TipiKAKS:1483103215841972404>",
"<:TipiKOLM:1483103217846980781>",
"<:TipiNELI:1483103237585240114>",
"<:TipiVIIS:1483103239036469289>",
"<:TipiKUUS:1483103253163020348>",
E["TipiYKS"],
E["TipiKAKS"],
E["TipiKOLM"],
E["TipiNELI"],
E["TipiVIIS"],
E["TipiKUUS"],
]
class JailbreakView(discord.ui.View):
@@ -813,7 +814,6 @@ def register_economy_extra_commands(
btn = discord.ui.Button(
label=label,
style=discord.ButtonStyle.primary if t == self._tier else discord.ButtonStyle.secondary,
custom_id=f"shop_tier_{t}",
)
btn.callback = self._make_callback(t)
self.add_item(btn)
@@ -822,8 +822,9 @@ def register_economy_extra_commands(
async def callback(interaction: discord.Interaction):
self._tier = tier
self._update_buttons()
await interaction.response.defer()
self._user_data = await economy.get_user(interaction.user.id)
await interaction.response.edit_message(
await interaction.edit_original_response(
embed=_shop_embed(self._tier, self._user_data),
view=self,
)

View File

@@ -9,6 +9,7 @@ import discord
from discord import app_commands
from core import economy
from core.emoji import EMOJI as E
import strings as S
@@ -611,7 +612,7 @@ def register_economy_games_commands(
# -----------------------------------------------------------------------
# /slots
# -----------------------------------------------------------------------
_SLOTS_SPIN = "<a:TipiSLOTS:1483444233863037101>"
_SLOTS_SPIN = E["TipiSLOTS"]
_SLOTS_DELAY = 0.7
def _slots_embed(

View File

@@ -22,12 +22,13 @@ def register_economy_income_commands(
) -> None:
@tree.command(name="daily", description=S.CMD["daily"])
async def cmd_daily(interaction: discord.Interaction):
await interaction.response.defer()
res = await economy.do_daily(interaction.user.id)
if not res["ok"]:
if res["reason"] == "banned":
await interaction.response.send_message(S.MSG_BANNED, ephemeral=True)
await interaction.followup.send(S.MSG_BANNED, ephemeral=True)
elif res["reason"] == "cooldown":
await interaction.response.send_message(
await interaction.followup.send(
S.CD_MSG["daily"].format(ts=cd_ts(res["remaining"])),
ephemeral=True,
)
@@ -51,7 +52,7 @@ def register_economy_income_commands(
lines.append(S.DAILY_UI["footer"].format(streak_str=streak_str, balance=coin(res["balance"])))
embed = discord.Embed(title=S.TITLE["daily"], description="\n".join(lines), color=0xF4C430)
await interaction.response.send_message(embed=embed)
await interaction.followup.send(embed=embed)
asyncio.create_task(maybe_remind(interaction.user.id, "daily"))
asyncio.create_task(award_exp(interaction, economy.EXP_REWARDS["daily"]))
@@ -59,17 +60,18 @@ def register_economy_income_commands(
async def cmd_work(interaction: discord.Interaction):
if await check_cmd_rate(interaction):
return
await interaction.response.defer()
res = await economy.do_work(interaction.user.id)
if not res["ok"]:
if res["reason"] == "banned":
await interaction.response.send_message(S.MSG_BANNED, ephemeral=True)
await interaction.followup.send(S.MSG_BANNED, ephemeral=True)
elif res["reason"] == "cooldown":
await interaction.response.send_message(
await interaction.followup.send(
S.CD_MSG["work"].format(ts=cd_ts(res["remaining"])),
ephemeral=True,
)
elif res["reason"] == "jailed":
await interaction.response.send_message(
await interaction.followup.send(
S.CD_MSG["jailed"].format(ts=cd_ts(res["remaining"])),
ephemeral=True,
)
@@ -84,7 +86,7 @@ def register_economy_income_commands(
desc += S.WORK_UI["laud"]
desc += S.WORK_UI["balance"].format(balance=coin(res["balance"]))
embed = discord.Embed(title=S.TITLE["work"], description=desc, color=0x57F287)
await interaction.response.send_message(embed=embed)
await interaction.followup.send(embed=embed)
asyncio.create_task(maybe_remind(interaction.user.id, "work"))
asyncio.create_task(award_exp(interaction, economy.EXP_REWARDS["work"]))
@@ -92,12 +94,13 @@ def register_economy_income_commands(
async def cmd_beg(interaction: discord.Interaction):
if await check_cmd_rate(interaction):
return
await interaction.response.defer()
res = await economy.do_beg(interaction.user.id)
if not res["ok"]:
if res["reason"] == "banned":
await interaction.response.send_message(S.MSG_BANNED, ephemeral=True)
await interaction.followup.send(S.MSG_BANNED, ephemeral=True)
elif res["reason"] == "cooldown":
await interaction.response.send_message(
await interaction.followup.send(
S.CD_MSG["beg"].format(ts=cd_ts(res["remaining"])),
ephemeral=True,
)
@@ -114,7 +117,7 @@ def register_economy_income_commands(
beg_lines.append(S.BEG_UI["klaviatuur"])
beg_lines.append(S.BEG_UI["balance"].format(balance=coin(res["balance"])))
embed = discord.Embed(title=title, description="\n".join(beg_lines), color=color)
await interaction.response.send_message(embed=embed)
await interaction.followup.send(embed=embed)
asyncio.create_task(maybe_remind(interaction.user.id, "beg"))
asyncio.create_task(award_exp(interaction, economy.EXP_REWARDS["beg"]))
@@ -122,17 +125,18 @@ def register_economy_income_commands(
async def cmd_crime(interaction: discord.Interaction):
if await check_cmd_rate(interaction):
return
await interaction.response.defer()
res = await economy.do_crime(interaction.user.id)
if not res["ok"]:
if res["reason"] == "banned":
await interaction.response.send_message(S.MSG_BANNED, ephemeral=True)
await interaction.followup.send(S.MSG_BANNED, ephemeral=True)
elif res["reason"] == "cooldown":
await interaction.response.send_message(
await interaction.followup.send(
S.CD_MSG["crime"].format(ts=cd_ts(res["remaining"])),
ephemeral=True,
)
elif res["reason"] == "jailed":
await interaction.response.send_message(
await interaction.followup.send(
S.CD_MSG["jailed"].format(ts=cd_ts(res["remaining"])),
ephemeral=True,
)
@@ -161,7 +165,7 @@ def register_economy_income_commands(
+ S.CRIME_UI["balance"].format(balance=coin(res["balance"])),
color=0xED4245,
)
await interaction.response.send_message(embed=embed)
await interaction.followup.send(embed=embed)
asyncio.create_task(maybe_remind(interaction.user.id, "crime"))
if res["success"]:
asyncio.create_task(award_exp(interaction, economy.EXP_REWARDS["crime_win"]))
@@ -180,27 +184,28 @@ def register_economy_income_commands(
await interaction.response.send_message(S.ERR["rob_house_blocked"], ephemeral=True)
return
await interaction.response.defer()
res = await economy.do_rob(interaction.user.id, sihtmärk.id)
if not res["ok"]:
if res["reason"] == "banned":
await interaction.response.send_message(S.MSG_BANNED, ephemeral=True)
await interaction.followup.send(S.MSG_BANNED, ephemeral=True)
elif res["reason"] == "cooldown":
await interaction.response.send_message(
await interaction.followup.send(
S.CD_MSG["rob"].format(ts=cd_ts(res["remaining"])),
ephemeral=True,
)
elif res["reason"] == "jailed":
await interaction.response.send_message(
await interaction.followup.send(
S.CD_MSG["jailed"].format(ts=cd_ts(res["remaining"])),
ephemeral=True,
)
elif res["reason"] == "broke":
await interaction.response.send_message(
await interaction.followup.send(
S.ERR["rob_too_poor"].format(name=sihtmärk.display_name),
ephemeral=True,
)
elif res["reason"] == "target_jailed":
await interaction.response.send_message(
await interaction.followup.send(
S.ERR["rob_target_jailed"].format(name=sihtmärk.display_name),
ephemeral=True,
)
@@ -242,7 +247,7 @@ def register_economy_income_commands(
),
color=0xED4245,
)
await interaction.response.send_message(embed=embed)
await interaction.followup.send(embed=embed)
asyncio.create_task(maybe_remind(interaction.user.id, "rob"))
if res["success"]:
asyncio.create_task(award_exp(interaction, economy.EXP_REWARDS["rob_win"]))

View File

@@ -15,6 +15,7 @@ from discord import app_commands
from core.admin import bot_admin_check
import strings as S
from core.admin import bot_admin_check
def register_ops_admin_commands(