ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Python (https://forum.antichat.xyz/forumdisplay.php?f=205)
-   -   Бот ТГ Развивалка (https://forum.antichat.xyz/showthread.php?t=1522522)

rvg.dll 14.10.2024 18:36

Писал бота тг

Простая развивалка

Майнинг Ферма / Дача / Информация

Код очень простой лень его доделывать такой можно взять под основу бота

И доделать его, и получить хорошего бота



main:





Код:

import
logging
from
aiogram
import
Bot
,
Dispatcher
,
types
from
aiogram
.
filters
import
Command
from
aiogram
.
types
import
ReplyKeyboardMarkup
,
KeyboardButton
from
aiogram
.
utils
.
keyboard
import
ReplyKeyboardBuilder
from
aiogram
import
F

API_TOKEN
=
''
# Логирование
logging
.
basicConfig
(
level
=
logging
.
INFO
)
bot
=
Bot
(
token
=
API_TOKEN
)
dp
=
Dispatcher
(
)
# Хранилище
users_data
=
{
}
# Клавиатура
def
get_main_menu
(
)
:
keyboard
=
ReplyKeyboardBuilder
(
)
keyboard
.
button
(
text
=
'Моя информация'
)
keyboard
.
button
(
text
=
'Майнинг ферма'
)
keyboard
.
button
(
text
=
'Дача'
)
keyboard
.
button
(
text
=
'Заработать деньги'
)
return
keyboard
.
as_markup
(
resize_keyboard
=
True
)
def
init_user
(
user_id
)
:
if
user_id
not
in
users_data
:
users_data
[
user_id
]
=
{
'balance'
:
1000
,
'farms'
:
0
,
'houses'
:
0
,
'farm_income'
:
10
,
'house_income'
:
50
,
'farm_price'
:
500
,
'house_price'
:
1000
}
@dp.message
(
Command
(
"start"
)
)
async
def
send_welcome
(
message
:
types
.
Message
)
:
init_user
(
message
.
from_user
.
id
)
await
message
.
answer
(
f"Привет,{message.from_user.first_name}! Добро пожаловать в экономическую игру. У тебя на счету 1000 монет."
,
reply_markup
=
get_main_menu
(
)
)
@dp.message
(
F
.
text
==
'Моя информация'
)
async
def
show_info
(
message
:
types
.
Message
)
:
user_id
=
message
.
from_user
.
id
init_user
(
user_id
)
data
=
users_data
[
user_id
]
await
message
.
answer
(
f"Твой баланс:{data['balance']}монет\n"
f"Майнинг ферм:{data['farms']}(доход{data['farm_income']}монет в час с каждой)\n"
f"Дач:{data['houses']}(доход{data['house_income']}монет в час с каждой)"
)
@dp.message
(
F
.
text
==
'Майнинг ферма'
)
async
def
mining_farm
(
message
:
types
.
Message
)
:
user_id
=
message
.
from_user
.
id
init_user
(
user_id
)
data
=
users_data
[
user_id
]
if
data
[
'balance'
]
>=
data
[
'farm_price'
]
:
data
[
'balance'
]
-=
data
[
'farm_price'
]
data
[
'farms'
]
+=
1
data
[
'farm_price'
]
+=
200
# Увеличиваем цену на следующую ферму
await
message
.
answer
(
f"Ты купил майнинг ферму! Теперь у тебя{data['farms']}ферм(ы). Следующая ферма стоит{data['farm_price']}монет."
)
else
:
await
message
.
answer
(
f"У тебя недостаточно средств для покупки фермы. Текущая цена фермы:{data['farm_price']}монет."
)
@dp.message
(
F
.
text
==
'Дача'
)
async
def
buy_house
(
message
:
types
.
Message
)
:
user_id
=
message
.
from_user
.
id
init_user
(
user_id
)
data
=
users_data
[
user_id
]
if
data
[
'balance'
]
>=
data
[
'house_price'
]
:
data
[
'balance'
]
-=
data
[
'house_price'
]
data
[
'houses'
]
+=
1
data
[
'house_price'
]
+=
500
# Увеличиваем цену на следующую дачу
await
message
.
answer
(
f"Ты купил дачу! Теперь у тебя{data['houses']}дач(и). Следующая дача стоит{data['house_price']}монет."
)
else
:
await
message
.
answer
(
f"У тебя недостаточно средств для покупки дачи. Текущая цена дачи:{data['house_price']}монет."
)
@dp.message
(
F
.
text
==
'Заработать деньги'
)
async
def
earn_money
(
message
:
types
.
Message
)
:
user_id
=
message
.
from_user
.
id
init_user
(
user_id
)
data
=
users_data
[
user_id
]
income
=
data
[
'farms'
]
*
data
[
'farm_income'
]
+
data
[
'houses'
]
*
data
[
'house_income'
]
if
income
>
0
:
data
[
'balance'
]
+=
income
await
message
.
answer
(
f"Ты заработал{income}монет! Твой текущий баланс:{data['balance']}монет."
)
else
:
await
message
.
answer
(
"У тебя пока нет ни ферм, ни дач для получения дохода."
)
async
def
main
(
)
:
await
dp
.
start_polling
(
bot
)
if
__name__
==
'__main__'
:
import
asyncio
    asyncio
.
run
(
main
(
)
)



Не пишите что код дерьмо я сказал что это легкий скрипт и под предназначен как под основоу его надо делать чтоб он был нормальный

stool 16.10.2024 09:25

Цитата:

Сообщение от rvgvkk46.dll

Не пишите что код дерьмо я сказал что это легкий скрипт и под предназначен как под основоу его надо делать чтоб он был нормальный

код дерьмо, скрипт написала нейросеть (что само по себе вроде и не плохо, но), практичность скрипта - нулевая, похожих существующих ботов целая куча, игры на тележных кнопках давно в прошлом с тех пор, как в телеге появились веб-приложения. бд нет, механизма конечного автомата нет, сохранения прогресса нет (после перезапуска бота все данные аннулируются), ниче кроме инкрементальной фигни в скрипте нет. выложил ради внимания и положительных реакций, не задавшись вопросом "а нужно ли это хоть кому-нибудь?" - фатальная ошибка.

https://forum.antichat.xyz/attachmen...8773b3f4e7.png

XRLM 16.10.2024 17:03

Установив питон, я почувствовал, что деградирую...


Время: 17:05