You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
1.9 KiB
37 lines
1.9 KiB
import discord
|
|
import aiohttp
|
|
import os
|
|
|
|
class Extension:
|
|
def __init__(self, core):
|
|
@core.tree.command(name = "buyvip", description = "Купить випку")
|
|
async def buyvip(
|
|
interaction: discord.Interaction
|
|
):
|
|
await interaction.response.defer(thinking=True)
|
|
steam64 = await core.GetSteam64OfDiscord(interaction.user)
|
|
player = await core.GetPlayer(steam64, steam64)
|
|
content = f"""
|
|
Ознакомиться с випкой или ее купить можно на нашем сайте https://tf2.pblr-nyk.pro/ в разделе VIP
|
|
Покупая не через стим, незабудь указать в комментарий к платежу ссылку на свой аккаунт. Ссылка на твой аккаунт ниже, чтоб ты не искал.
|
|
|
|
Ниже кнопочки покупки через разные сервисы чтоб не заходить и не искать.
|
|
После покупки если ты играешь тебя кикнет, чтоб перезайти.
|
|
Кнопочки ниже ведут на ссылки которые гарантируют покупку випа на профиль привязанный к дискорду: {player.community_url}
|
|
"""
|
|
|
|
prices = []
|
|
async with aiohttp.ClientSession() as session:
|
|
async with session.get(f"{os.getenv('BACKEND_URL')}/api/profile/current/buyvip/list?steam64={steam64}", ssl=False) as response:
|
|
prices = await response.json()
|
|
|
|
view = discord.ui.View()
|
|
for price in prices:
|
|
for m_value in price.get("items", []):
|
|
url = m_value['url']
|
|
if "STEAM" in m_value['name']:
|
|
url = url.split("&cost")[0]
|
|
|
|
view.add_item(discord.ui.Button(label=f"{price['name']} - {m_value['name']}", url=f"{os.getenv('BACKEND_URL')}{url}"))
|
|
|
|
return await interaction.followup.send(content=content, view=view, ephemeral=False)
|