Генерация случайных ссылок без повторений
Я создаю своего бота для магазина в тг с pytelegrambotapi Подскажите пожалуйста как сделать так что б при нажатии на кнопку бот выдавал рандомную ссылку и не повторялся. Буду очень благодарен если напишете от а до я
Ответы (1 шт):
Автор решения: Иван Ипатов
→ Ссылка
import random
urls = ['youtube.com', 'stackoverflow.com', 'google.com']
@bot.message_handler(
func=lambda message: message.text.lower() == "ссылка")
# метод choice просто выбирает любой элемент
bot.send_message(message.chat.id, random.choice(urls))
# без повторов
if len(urls) != 0:
i = random.randint(0, len(urls)-1) # возьмём рандомный индекс
# отправляется рандомная ссылка по индексу i и удаляется
# элемент по этому индексу из списка
bot.send_message(message.chat.id, urls.pop(i))
else:
bot.send_message(message.chat.id, "ссылок нет")
Предупреждаю, если вы не задействуете что-то вроде баз данных, то один пользователь сможет просмотреть все ссылки, а другой уже нет.