Показать сообщение отдельно

  #1  
Старый 15.11.2024, 16:19
Python_Fanat
Новичок
Регистрация: 17.10.2024
Сообщений: 24
С нами: 829557

Репутация: 8
По умолчанию

Телеграмбот кликер монет на Python
Приветствую вас дорогие пользователи форума BlastHack. Недавно я сделал телеграм бота для генерации номеров и меня захейтили, но теперь я сделал бота намного лучше а именно кликер монет. Что-же не буду томить ожидание, представляю вам бота кликера монет!

Функции:

• Возможность кликать монеты

• Проверять свой баланс

• Смотреть топ 10 пользователей по балансу

• Записывание всех балансов пользователей в файл "users.json"

Скриншот самого бота:





А вот и сам код:


Телеграм бот кликер монет на Python:





Код:
import
telebot
from
telebot
import
types
import
json
import
os

bot
=
telebot
.
TeleBot
(
'Ваш токен'
)
def
load_users
(
)
:
if
os
.
path
.
exists
(
'users.json'
)
:
with
open
(
'users.json'
,
'r'
)
as
file
:
return
json
.
load
(
file
)
return
{
}
def
save_users
(
users
)
:
with
open
(
'users.json'
,
'w'
)
as
file
:
json
.
dump
(
users
,
file
)
@bot.message_handler
(
commands
=
[
'start'
]
)
def
start
(
message
)
:
user_id
=
str
(
message
.
from_user
.
id
)
users
=
load_users
(
)
if
user_id
not
in
users
:
users
[
user_id
]
=
{
'coins'
:
0
}
save_users
(
users
)
markup
=
types
.
ReplyKeyboardMarkup
(
resize_keyboard
=
True
)
btn_click
=
types
.
KeyboardButton
(
'🪙 Кликнуть'
)
btn_balance
=
types
.
KeyboardButton
(
'💰 Баланс'
)
btn_top
=
types
.
KeyboardButton
(
'🏆 Топ игроков'
)
markup
.
add
(
btn_click
,
btn_balance
,
btn_top
)
bot
.
send_message
(
message
.
chat
.
id
,
'Приветствую вас в боте для заработка монет! Кликайте монету, чтобы заработать.'
,
reply_markup
=
markup
)
@bot.message_handler
(
content_types
=
[
'text'
]
)
def
handle_text
(
message
)
:
user_id
=
str
(
message
.
from_user
.
id
)
users
=
load_users
(
)
if
message
.
text
==
'🪙 Кликнуть'
:
users
[
user_id
]
[
'coins'
]
+=
1
save_users
(
users
)
bot
.
reply_to
(
message
,
f'Вы заработали монету! Всего монет:{users[user_id]["coins"]}'
)
elif
message
.
text
==
'💰 Баланс'
:
bot
.
reply_to
(
message
,
f'Ваш баланс:{users[user_id]["coins"]}монет'
)
elif
message
.
text
==
'🏆 Топ игроков'
:
players
=
[
]
for
uid
,
data
in
users
.
items
(
)
:
try
:
user
=
bot
.
get_chat
(
uid
)
name
=
user
.
first_name
except
:
name
=
"Без имени"
players
.
append
(
(
name
,
data
[
'coins'
]
)
)
players
.
sort
(
key
=
lambda
x
:
x
[
1
]
,
reverse
=
True
)
top_message
=
"🏆 Топ-10 игроков:\n\n"
for
i
,
(
name
,
coins
)
in
enumerate
(
players
[
:
10
]
,
1
)
:
top_message
+=
f"{i}.{name}{coins}монет\n"
bot
.
reply_to
(
message
,
top_message
)
bot
.
polling
(
none_stop
=
True
)


Требуемые библиотеки для работы бота:

Библиотека:





Код:
pip
install
pyTelegramBotAPI


 
Ответить с цитированием