Загрузка...

Плагин авто-выдачч звезд Telegram для Funpay [Cardinal]

Тема в разделе Python создана пользователем SandFoxy 18 мар 2025. 1690 просмотров

  1. SandFoxy
    SandFoxy Автор темы 18 мар 2025 :dance::dance::dance::dance::dance::dance: 88 13 сен 2024
    Сделал для вас плагин что-бы пассивно (почти) фармить бабки.
    Выдача звезд работает через @apovel_bot

    Инструкция:
    Сервивс закрылся, но я продаю бота для продажи звезд. Пишите в ТГ.

    1. Заходим к https://t.me/toncenter и регаем бесплатный API ключ, заменяем в файле YOUR_TONCENTER_API_KEY на ваш ключ
    2. Заходим к
    @apovel_bot и гетаем API ключ, заменяем в файле POVEL_API_TOKEN на ваш ключ
    3. Топапаем баланс бота (За отзыв в теме даю
    0.25 TON на балик)
    4. Стартуем бота, профит!


    Бот выдает вне зависимости вот тайтлов и всего остального.
    БОТ ВЫДАЕТ МИНИМУМ 50 ЗВЕЗД!!!

    Python
    from __future__ import annotations
    import os
    import json
    import time
    import hashlib
    import hmac
    import logging
    import random
    import urllib
    import base64
    import requests

    from locales.localizer import Localizer
    from cardinal import Cardinal
    from FunPayAPI.updater.events import NewOrderEvent, NewMessageEvent

    logger = logging.getLogger(__name__)

    localizer = Localizer()
    _ = localizer.translate

    #Настройки бота
    plugin_settings = {
    "TONCENTER_API": "YOUR_TONCENTER_API_KEY", #Получите у @tonapibot
    "POVEL_API_TOKEN": "YOUR_POVEL_API" #Получите у @apovel_bot
    }

    NAME = "Telegram Auto-Stars"
    VERSION = "1.0.0"
    DESCRIPTION = " Плагин для автоматической отправки звезд в Телеграме.\n Плагин работает с сервисом Povel API (@apovel_bot).\n\n НЕ ЗАБУДЬТЕ ЗАМЕНИТЬ КЛЮЧИ В ФАЙЛЕ ПЛАГИНА!!!"
    CREDITS = "@sandfoxy | https://github.com/SandFoxy"
    UUID = "3c7a4e3b-6b56-4769-88f2-04be496ae190"
    SETTINGS_PAGE = True

    logger.info(f"[{NAME}] Плагин загружен!")

    order_data = {}

    def new_message_handler(cardinal: Cardinal, event: NewMessageEvent) -> None:
    try:
    user_id = str(event.message.author_id)
    if user_id not in order_data:
    return
    if order_data[user_id]["state"] == "username":
    order_data[user_id]["user_tag"] = event.message.text
    order_data[user_id]["state"] = "checking"
    cardinal.send_message(chat_id=event.message.chat_id, message_text=f" Секунду, проверяю...", watermark=False)

    try:
    response = requests.get(
    f"https://sandfoxy.digital/searchStarsRecipient?tag={event.message.text}",
    headers={"auth": plugin_settings["POVEL_API_TOKEN"]}
    )
    if response.status_code == 404:
    cardinal.send_message(chat_id=event.message.chat_id, message_text=f" Ошибка! Тег указан неверно! Попробуйте ещё раз!", watermark=False)
    order_data[user_id]["state"] = "username"
    return
    elif response.status_code == 200:
    cardinal.send_message(chat_id=event.message.chat_id, message_text=f" Ваше имя пользователя - {response.json()['found']['name']}? Если да, то отправьте в чат - '+'. Если нет - '-'", watermark=False)
    order_data[user_id]["state"] = "confirm"
    else:
    cardinal.send_message(chat_id=event.message.chat_id, message_text=f" Ошибка! {response.json()['error']}", watermark=False)
    order_data[user_id]["state"] = "username"
    except Exception as e:
    cardinal.send_message(chat_id=event.message.chat_id, message_text=f" Ошибка! {e}", watermark=False)
    elif order_data[user_id]["state"] == "confirm":
    if event.message.text == "+":
    order_data[user_id]["state"] = "sending"
    cardinal.send_message(chat_id=event.message.chat_id, message_text=f" Секунду, отправляю звезды...", watermark=False)
    try:
    response = requests.post("https://sandfoxy.digital/sendStars",
    headers={"auth": plugin_settings["POVEL_API_TOKEN"]},
    json={
    "recipient_tag": order_data[user_id]["user_tag"],
    "stars_quantity": order_data[user_id]["stars_count"],
    "toncenter_api_key": plugin_settings["TONCENTER_API"]
    })
    if response.status_code == 200:
    order_data[user_id]["state"] = "done"
    cardinal.send_message(chat_id=event.message.chat_id, message_text=f" Звезды отправлены! Спасибо за покупку!\n Транзакция: {response.json()['data']['hash']}\n\n Не забудьте подтвердить заказ!", watermark=False)
    else:
    cardinal.send_message(chat_id=event.message.chat_id, message_text=f" Ошибка! {response.json()['error']}", watermark=False)
    except Exception as e:
    cardinal.send_message(chat_id=event.message.chat_id, message_text=f" Ошибка! {e}", watermark=False)
    elif event.message.text == "-":
    cardinal.send_message(chat_id=event.message.chat_id, message_text=f" Отправьте ваш новый @username", watermark=False)
    order_data[user_id]["state"] = "username"

    except Exception as e:
    logger.error(f"Ошибка в обработчике сообщения: {e}")

    def new_order_handler(cardinal: Cardinal, event: NewOrderEvent) -> None:
    logger.info(f"Новый заказ: {event.order.subcategory.id} | {event.order.amount} руб.")
    if event.order.subcategory.id != 2418:
    logger.info(f"Заказ не в категории звезды, пропускаю.")
    return
    logger.info(f"Заказ в категории звезды, обрабатываю.")

    stars_count = 0
    split = event.order.description.split()
    try:
    if event.order.description.startswith("Другое количество"):
    stars_count = int(split[2])
    elif split[1] == "звёзд":
    stars_count = int(split[0])
    except Exception as e:
    logger.info(f"Ошибка при получении количества звезд: {e}")
    return

    logger.info(f"Количество звезд: {stars_count}")
    if stars_count < 50 or stars_count > 1000000:
    logger.info(f"Количество звезд не в диапазоне 50-1000000, пропускаю.")
    return
    logger.info(f"Все в порядке! Начинаю выдачу!")
    cardinal.send_message(chat_id=event.order.chat_id, message_text=f" Здравствуйте, отправьте ваш @username!", watermark=False)
    order_data[str(event.order.buyer_id)] = {
    "stars_count": stars_count,
    "state": "username",
    "user_tag": None
    }

    BIND_TO_NEW_ORDER = [new_order_handler]
    BIND_TO_NEW_MESSAGE = [new_message_handler]
    BIND_TO_DELETE = None
     
    18 мар 2025 Изменено
  2. Ягода
    Ягода 18 мар 2025 Twitch party - новости twitch 24 466 29 июн 2019
    Так это хуйня когда через левого бота, он скамнется и прощай денежки
     
    1. Посмотреть предыдущие комментарии (1)
    2. Petrovich
      SandFoxy, через левого бота, он скамнется и прощай денежки
    3. Petrovich
      SandFoxy, все равно, не офф, пока бабки
  3. Эксфадор
    Эксфадор 19 мар 2025 ПЛАГИНЫ ДЛЯ FPC - t.me/coxerhub 1747 30 авг 2023
    5 минут делов сделать запросы на фрагмент))
     
    1. Leojka
  4. h1luvv
    h1luvv 19 мар 2025 0 21 янв 2025
    [IMG]
    Крутой парень, на всё ответил, со всем помог, всё обьяснил. В общем круто
     
  5. krutyshkin
    krutyshkin 20 мар 2025 148 1124 6 фев 2019
    ну я бы тебе хуй доверял тем более новокеку
     
    1. лолзтим
      krutyshkin, ты бы ему свой хуй доверил?
  6. фрост
    че аповел не работает
     
Загрузка...
Top