[GH-ISSUE #1245] codebot #798

Closed
opened 2026-03-02 16:01:29 +03:00 by kerem · 1 comment
Owner

Originally created by @Amirmahdi999 on GitHub (Oct 17, 2024).
Original GitHub issue: https://github.com/prasathmani/tinyfilemanager/issues/1245

from telegram import Update, ParseMode
from telegram.ext import Updater, CommandHandler, MessageHandler, Filters, CallbackContext
from datetime import datetime

توکن ربات خود را در اینجا وارد کنید

TOKEN = '7770900983:AAFb87NofmOK0EI9Qwtl9hMAmm-mf_u14Ic'

دیکشنری برای نگهداری سکه‌های کاربران

user_coins = {}
user_languages = {}

کد رمز برای سکه‌های نامحدود

UNLOCKED_COINS_PASSWORD = "@#FGH(FREE EDIT)"

def start(update: Update, context: CallbackContext) -> None:
user_id = update.effective_chat.id
user_coins[user_id] = 5 # هر کاربر با ۵ سکه شروع می‌کند
update.message.reply_text(
"چند زبان پشتیبانی شده:\n"
"فارسی🇮🇷\n"
"چین🇨🇳\n"
"روسیه🇷🇺\n"
"عربی🇸🇦\n"
"هند🇮🇳\n"
"ژاپن🇯🇵\n"
"انگلیسی🇬🇧\n"
"لطفاً زبان مورد نظر خود را انتخاب کنید."
)

def select_language(update: Update, context: CallbackContext) -> None:
language = update.message.text
welcome_messages = {
"فارسی🇮🇷": "سلام من بات تلگرام تبدیل وُیس به افکت صدا هستم و شما چند سکه 🪙 برای تبدیل وُیس به افکت دارید و اگر تمام شد تا جمعه باید صبر کنید.",
"چین🇨🇳": "你好,我是Telegram机器人声音效果转换,您有几个硬币🪙可以将声音转换为效果,如果用完了,您必须等到周五。",
"روسیه🇷🇺": "Привет, я Telegram-бот Преобразование голоса в эффект звука, у вас есть несколько монет🪙 для преобразования голоса в эффект, и если они закончатся, вам придется ждать до пятницы.",
"عربی🇸🇦": "مرحبًا، أنا روبوت Telegram تحويل الصوت إلى تأثير الصوت، لديك بعض العملات🪙 لتحويل الصوت إلى تأثير، وإذا نفدت، سيتعين عليك الانتظار حتى يوم الجمعة.",
"هند🇮🇳": "नमस्ते, मैं Telegram बोट स्वर प्रभाव में परिवर्तन हूँ, आपके पास प्रभाव में स्वर बदलने के लिए कुछ सिक्के🪙 हैं, और अगर यह खत्म हो जाता है, तो आपको शुक्रवार तक इंतजार करना होगा।",
"ژاپن🇯🇵": "こんにちは、私はTelegramボットボイスをサウンドエフェクトに変換です、あなたにはサウンドをエフェクトに変換するためのいくつかのコイン🪙があります、もしそれがなくなったら、金曜日まで待たなければなりません。",
"انگلیسی🇬🇧": "Hello, I am the Telegram bot Voice to Sound Effect, you have a few coins 🪙 to convert voice to effect, and if they run out, you will have to wait until Friday."
}

if language in welcome_messages:
    user_languages[update.effective_chat.id] = language
    update.message.reply_text(welcome_messages[language])

def check_coins(update: Update, context: CallbackContext) -> None:
user_id = update.effective_chat.id
language = user_languages.get(user_id, "فارسی🇮🇷") # پیش‌فرض: فارسی
coin_count = user_coins.get(user_id, 0)

messages = {
    "فارسی🇮🇷": f"شما {coin_count} سکه دارید.",
    "چین🇨🇳": f"您有{coin_count}硬币。",
    "روسیه🇷🇺": f"У вас {coin_count} монет.",
    "عربی🇸🇦": f"لديك {coin_count} عملات.",
    "هند🇮🇳": f"आपके पास {coin_count} सिक्के हैं।",
    "ژاپن🇯🇵": f"あなたには{coin_count}コインがあります。",
    "انگلیسی🇬🇧": f"You have {coin_count} coins."
}

update.message.reply_text(messages[language])

def use_coin(update: Update, context: CallbackContext) -> None:
user_id = update.effective_chat.id

# بررسی روز پنج‌شنبه و اضافه کردن یک سکه
if datetime.now().weekday() == 3:  # 3 برابر با پنج‌شنبه
    user_coins[user_id] += 1
    update.message.reply_text("یک سکه به موجودی شما اضافه شد. هم اکنون " + str(user_coins[user_id]) + " سکه دارید.")

if user_id in user_coins and user_coins[user_id] > 0:
    user_coins[user_id] -= 1
    remaining_coins = user_coins[user_id]
    update.message.reply_text(
        f"شما یکی از سکه‌ها را استفاده کردید. همچنین ({remaining_coins} 🪙) باقی مانده است."
    )
else:
    update.message.reply_text("شما سکه‌ای برای استفاده ندارید.")

def unlock_coins(update: Update, context: CallbackContext) -> None:
user_id = update.effective_chat.id
message_text = update.message.text.strip()

if message_text == UNLOCKED_COINS_PASSWORD:
    user_coins[user_id] = float('inf')  # سکه‌های نامحدود
    update.message.reply_text("شما سکه‌های نامحدود فعال کردید!")
else:
    update.message.reply_text("کد وارد شده نادرست است.")

def thank_you(update: Update, context: CallbackContext) -> None:
update.message.reply_text("خواهش میکنم امیدوارم انیمیشن خوبی یا ویدیو خوبی را درست کرده باشید")

def warning(update: Update, context: CallbackContext) -> None:
update.message.reply_text(
"هشدار: شما دارید از من سواستفاده میکنید",
parse_mode=ParseMode.MARKDOWN_V2
)

def main():
updater = Updater(TOKEN)
dispatcher = updater.dispatcher

dispatcher.add_handler(CommandHandler('start', start))
dispatcher.add_handler(CommandHandler('check_coins', check_coins))
dispatcher.add_handler(MessageHandler(Filters.text & ~Filters.command, select_language))
dispatcher.add_handler(MessageHandler(Filters.regex('^استفاده از سکه$'), use_coin))
dispatcher.add_handler(MessageHandler(Filters.regex('^تشکر$'), thank_you))
dispatcher.add_handler(MessageHandler(Filters.regex('^هشدار$'), warning))
dispatcher.add_handler(MessageHandler(Filters.text, unlock_coins))  # اضافه کردن فرمان کد رمز

updater.start_polling()
updater.idle()

if name == 'main':
main()

Originally created by @Amirmahdi999 on GitHub (Oct 17, 2024). Original GitHub issue: https://github.com/prasathmani/tinyfilemanager/issues/1245 from telegram import Update, ParseMode from telegram.ext import Updater, CommandHandler, MessageHandler, Filters, CallbackContext from datetime import datetime # توکن ربات خود را در اینجا وارد کنید TOKEN = '7770900983:AAFb87NofmOK0EI9Qwtl9hMAmm-mf_u14Ic' # دیکشنری برای نگهداری سکه‌های کاربران user_coins = {} user_languages = {} # کد رمز برای سکه‌های نامحدود UNLOCKED_COINS_PASSWORD = "@#FGH(FREE EDIT)" def start(update: Update, context: CallbackContext) -> None: user_id = update.effective_chat.id user_coins[user_id] = 5 # هر کاربر با ۵ سکه شروع می‌کند update.message.reply_text( "چند زبان پشتیبانی شده:\n" "فارسی🇮🇷\n" "چین🇨🇳\n" "روسیه🇷🇺\n" "عربی🇸🇦\n" "هند🇮🇳\n" "ژاپن🇯🇵\n" "انگلیسی🇬🇧\n" "لطفاً زبان مورد نظر خود را انتخاب کنید." ) def select_language(update: Update, context: CallbackContext) -> None: language = update.message.text welcome_messages = { "فارسی🇮🇷": "سلام من بات تلگرام **تبدیل وُیس به افکت صدا** هستم و شما چند سکه 🪙 برای تبدیل وُیس به افکت دارید و اگر تمام شد تا جمعه باید صبر کنید.", "چین🇨🇳": "你好,我是Telegram机器人**声音效果转换**,您有几个硬币🪙可以将声音转换为效果,如果用完了,您必须等到周五。", "روسیه🇷🇺": "Привет, я Telegram-бот **Преобразование голоса в эффект звука**, у вас есть несколько монет🪙 для преобразования голоса в эффект, и если они закончатся, вам придется ждать до пятницы.", "عربی🇸🇦": "مرحبًا، أنا روبوت Telegram **تحويل الصوت إلى تأثير الصوت**، لديك بعض العملات🪙 لتحويل الصوت إلى تأثير، وإذا نفدت، سيتعين عليك الانتظار حتى يوم الجمعة.", "هند🇮🇳": "नमस्ते, मैं Telegram बोट **स्वर प्रभाव में परिवर्तन** हूँ, आपके पास प्रभाव में स्वर बदलने के लिए कुछ सिक्के🪙 हैं, और अगर यह खत्म हो जाता है, तो आपको शुक्रवार तक इंतजार करना होगा।", "ژاپن🇯🇵": "こんにちは、私はTelegramボット**ボイスをサウンドエフェクトに変換**です、あなたにはサウンドをエフェクトに変換するためのいくつかのコイン🪙があります、もしそれがなくなったら、金曜日まで待たなければなりません。", "انگلیسی🇬🇧": "Hello, I am the Telegram bot **Voice to Sound Effect**, you have a few coins 🪙 to convert voice to effect, and if they run out, you will have to wait until Friday." } if language in welcome_messages: user_languages[update.effective_chat.id] = language update.message.reply_text(welcome_messages[language]) def check_coins(update: Update, context: CallbackContext) -> None: user_id = update.effective_chat.id language = user_languages.get(user_id, "فارسی🇮🇷") # پیش‌فرض: فارسی coin_count = user_coins.get(user_id, 0) messages = { "فارسی🇮🇷": f"شما {coin_count} سکه دارید.", "چین🇨🇳": f"您有{coin_count}硬币。", "روسیه🇷🇺": f"У вас {coin_count} монет.", "عربی🇸🇦": f"لديك {coin_count} عملات.", "هند🇮🇳": f"आपके पास {coin_count} सिक्के हैं।", "ژاپن🇯🇵": f"あなたには{coin_count}コインがあります。", "انگلیسی🇬🇧": f"You have {coin_count} coins." } update.message.reply_text(messages[language]) def use_coin(update: Update, context: CallbackContext) -> None: user_id = update.effective_chat.id # بررسی روز پنج‌شنبه و اضافه کردن یک سکه if datetime.now().weekday() == 3: # 3 برابر با پنج‌شنبه user_coins[user_id] += 1 update.message.reply_text("یک سکه به موجودی شما اضافه شد. هم اکنون " + str(user_coins[user_id]) + " سکه دارید.") if user_id in user_coins and user_coins[user_id] > 0: user_coins[user_id] -= 1 remaining_coins = user_coins[user_id] update.message.reply_text( f"شما یکی از سکه‌ها را استفاده کردید. همچنین ({remaining_coins} 🪙) باقی مانده است." ) else: update.message.reply_text("شما سکه‌ای برای استفاده ندارید.") def unlock_coins(update: Update, context: CallbackContext) -> None: user_id = update.effective_chat.id message_text = update.message.text.strip() if message_text == UNLOCKED_COINS_PASSWORD: user_coins[user_id] = float('inf') # سکه‌های نامحدود update.message.reply_text("شما سکه‌های نامحدود فعال کردید!") else: update.message.reply_text("کد وارد شده نادرست است.") def thank_you(update: Update, context: CallbackContext) -> None: update.message.reply_text("خواهش میکنم امیدوارم انیمیشن خوبی یا ویدیو خوبی را درست کرده باشید") def warning(update: Update, context: CallbackContext) -> None: update.message.reply_text( "هشدار: شما دارید از من ~~سواستفاده~~ میکنید", parse_mode=ParseMode.MARKDOWN_V2 ) def main(): updater = Updater(TOKEN) dispatcher = updater.dispatcher dispatcher.add_handler(CommandHandler('start', start)) dispatcher.add_handler(CommandHandler('check_coins', check_coins)) dispatcher.add_handler(MessageHandler(Filters.text & ~Filters.command, select_language)) dispatcher.add_handler(MessageHandler(Filters.regex('^استفاده از سکه$'), use_coin)) dispatcher.add_handler(MessageHandler(Filters.regex('^تشکر$'), thank_you)) dispatcher.add_handler(MessageHandler(Filters.regex('^هشدار$'), warning)) dispatcher.add_handler(MessageHandler(Filters.text, unlock_coins)) # اضافه کردن فرمان کد رمز updater.start_polling() updater.idle() if __name__ == '__main__': main()
kerem closed this issue 2026-03-02 16:01:30 +03:00
Author
Owner

@prasathmani commented on GitHub (Oct 18, 2024):

not related to this repo.

<!-- gh-comment-id:2421163142 --> @prasathmani commented on GitHub (Oct 18, 2024): not related to this repo.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/tinyfilemanager#798
No description provided.