- 19
- 6
Телеграм бот генератор данных на Python
Приветствую вас дорогие пользователи форума BlastHack. Недавно я сделал телеграм бота переводчика и вот мне захотелось сделать ещё одного бота, представляю вашему вниманию телеграм бота генератор данных!Функционал:
• Возможность генерировать номера карточек
• Возможность генерировать телефонные номера
Скриншоты:
А вот и сам код:
Телеграм бот генератор данных.:
import telebot
from telebot.types import InlineKeyboardMarkup, InlineKeyboardButton
import random
bot = telebot.TeleBot('Ваш токен')
def generate_russian_number():
operator_codes = ['900', '901', '902', '903', '904', '905', '906', '908', '909',
'910', '911', '912', '913', '914', '915', '916', '917', '919',
'920', '921', '922', '923', '924', '925', '926', '927', '928', '929']
operator = random.choice(operator_codes)
subscriber = ''.join([str(random.randint(0, 9)) for _ in range(7)])
return f'+7 ({operator}) {subscriber[:3]}-{subscriber[3:5]}-{subscriber[5:]}'
def generate_card_number():
test_bins = ['4000', '5000', '6000']
bin_number = random.choice(test_bins)
rest_of_card = ''.join([str(random.randint(0, 9)) for _ in range(12)])
return f'{bin_number} {rest_of_card[:4]} {rest_of_card[4:8]} {rest_of_card[8:12]}'
def create_keyboard(show_back=False):
keyboard = InlineKeyboardMarkup()
generate_phone = InlineKeyboardButton(text='📱 Сгенерировать номер', callback_data='generate_phone')
generate_card = InlineKeyboardButton(text='💳 Сгенерировать карту', callback_data='generate_card')
info_button = InlineKeyboardButton(text='ℹ️ Информация', callback_data='info')
back_button = InlineKeyboardButton(text='◀️ Назад', callback_data='back')
keyboard.add(generate_phone)
keyboard.add(generate_card)
keyboard.add(info_button)
if show_back:
keyboard.add(back_button)
return keyboard
@bot.message_handler(commands=['start'])
def send_welcome(message):
welcome_text = ('Приветствую вас в боте для генерации номеров телефонов и карт.\n'
'Выберите, что хотите сгенерировать:')
bot.send_message(message.chat.id, welcome_text, reply_markup=create_keyboard())
@bot.callback_query_handler(func=lambda call: True)
def callback_handler(call):
if call.data == 'generate_phone':
number = generate_russian_number()
bot.edit_message_text(
chat_id=call.message.chat.id,
message_id=call.message.message_id,
text=f'Сгенерированный номер телефона:\n{number}',
reply_markup=create_keyboard(show_back=True)
)
elif call.data == 'generate_card':
card = generate_card_number()
bot.edit_message_text(
chat_id=call.message.chat.id,
message_id=call.message.message_id,
text=f'Сгенерированный номер карты:\n{card}\n',
reply_markup=create_keyboard(show_back=True)
)
elif call.data == 'info':
info_text = ('Этот бот генерирует:\n'
'📱 Случайные номера телефонов\n'
'💳 Номера карт')
bot.edit_message_text(
chat_id=call.message.chat.id,
message_id=call.message.message_id,
text=info_text,
reply_markup=create_keyboard(show_back=True)
)
elif call.data == 'back':
welcome_text = ('Вы вернулись в главное меню\n'
'Выберите, что хотите сгенерировать:')
bot.edit_message_text(
chat_id=call.message.chat.id,
message_id=call.message.message_id,
text=welcome_text,
reply_markup=create_keyboard()
)
bot.answer_callback_query(callback_query_id=call.id)
bot.polling(none_stop=True)
Библиотека:
pip install pyTelegramBotAPI