Я не шарю как писать код, а ChatGPT выдает полную дичь. Но благо сам могу загружать и изменять файлы сервера.
Есть бот на
Python, в функции
send_keys_refferals организована выдача ключей за рефералов: 1 реферал – 1 ключ.
В день человек может получить максимум 10 ключей гарантированно (без приглашений), и плюс за рефералов макс 10 ключей. Итого: 20.
Когда я добавляю новые категории в список
categories и изменяю макс количество выдаваемых ключей за рефералов, то в боте ключи за рефералов вообще не выдаются. Я не понимаю, что не так.
Как сделать, чтобы ключи в боте отображались так как нужно, в случае если я добавляю в список больше категорий и изменяю число максимально выдаваемых ключей?
def send_keys_refferals(message):
last_receive = db.get_last_receiving(message.chat.id, 2)
time_now = int(time.time())
hours_24 = 86400
n = time_now - last_receive
keys = []
categories = ['BIKE', 'CUBE', 'TRAIN', 'CLONE', 'MERGE']
referrals_number = db.get_referrals_number(message.chat.id)
text = f'''
Ваша реферальная ссылка https://t.me/мой_никнейм_бота?start={message.chat.id}
Вы пригласили рефералов: {referrals_number}\n\n
'''
for c in categories:
for key in db.get_2_keys(c):
keys.append(key)
if n >= hours_24 and referrals_number > 0:
# Перебираем слайс кодов в размере количества рефералов
for key in keys[:referrals_number]:
print(key)
if key is None:
break
text += f'<code>{key[1]}</code>\n'
db.key_used(key[1])
db.edit_last_receive_time(message.chat.id, time_now, 2)
elif n < hours_24:
n = hours_24 - n
hours = str(int(n / 3600))
minutes = str(int(n % 3600 / 60))
if len(minutes) < 2:
minutes = '0' + minutes
seconds = str(int(n % 3600 % 60))
if len(seconds) < 2:
seconds = '0' + seconds
time_left = f'{hours}:{minutes}:{seconds}'
text += f'''
За приглашение 1 друга вы получаете дополнительно 1 ключ. Например, вы гарантированно получаете 10 ключей каждый день и +1 ключ за каждого друга, которого вы пригласили по своей реферальной ссылке.
Допустим, вы пригласили 10 друзей, значит, вы получаете по 10 ключей и +10 ключей за ваших друзей, и того получается по 20 ключей каждый день!
Максимальное количество приглашённых вами друзей: 10. Через {time_left} вы получите 10 ключей и дополнительно +{min(10, referrals_number)} ключей. Пригласите хотя бы 1 друга, чтобы получать больше ключей. \n\n'''
else:
hours = str(int(n / 3600))
minutes = str(int(n % 3600 / 60))
if len(minutes) < 2:
minutes = '0' + minutes
seconds = str(int(n % 3600 % 60))
if len(seconds) < 2:
seconds = '0' + seconds
time_left = f'{hours}:{minutes}:{seconds}'
text += f'''
За приглашение 1 друга вы получаете дополнительно 1 ключ. Например, вы гарантированно получаете 10 ключей каждый день и +1 ключ за каждого друга, которого вы пригласили по своей реферальной ссылке.
Допустим, вы пригласили 10 друзей, значит, вы получаете по 10 ключей и +10 ключей за ваших друзей, и того получается по 20 ключей каждый день!
Максимальное количество приглашённых вами друзей: 10. Через 0:00:00 вы получите 10 ключей и дополнительно +0 ключей. Пригласите хотя бы 1 друга, чтобы получать больше ключей.
'''
bot.send_message(message.chat.id, text, parse_mode='HTML')