Не все ссылки отправляються в чат телеграм бота
В телеграм боте не отправляеться все ссылки. Только первая https://www.lifecell.ua/uk/pro_lifecell/kariera/programa-jump/ При выборе, в других условия почему то отправляеться только эта ссылка.
Все три, работают коректно, а вот ссылки нет (выделил жирними какая ссылка работает, и курсивом какие не работают (при их вызове почему-то выводиться первая))
При том что с почтой все работает. При выборе
bot.send_link(chat_id, 'Ось пошта за якою Ви можете відправити нам своє CV [email protected]')
bot.send_link(chat_id, 'Ось пошта за якою Ви можете відправити нам своє CV [email protected]')
bot.send_link(chat_id, 'Ось пошта за якою Ви можете відправити нам своє CV [email protected]')
Подскажите, пожалуйста, как решить?
import requests
from telegram import ReplyKeyboardMarkup, ReplyKeyboardRemove
class TelegramBot:
def __init__(self, token):
self.token = token
self.base_url = f'https://api.telegram.org/bot{token}/'
def get_updates(self, offset=None):
method = 'getUpdates'
params = {'offset': offset, 'timeout': 100}
response = self._make_request(method, params)
return response.get('result', [])
def send_message(self, chat_id, text, reply_markup=None):
method = 'sendMessage'
params = {'chat_id': chat_id, 'text': text, 'reply_markup': reply_markup.to_dict() if reply_markup else None}
self._make_request(method, params)
def send_link(self, chat_id, link):
method = 'sendMessage'
params = {'chat_id': chat_id, 'text': link}
self._make_request(method, params)
def _make_request(self, method, params):
url = f'{self.base_url}{method}'
response = requests.post(url, json=params)
return response.json()
def main():
# Вставте сюди токен вашого бота
bot_token = '6891551042:AAGiXQlnReKYKd-9zHhLN97-vlwCZeCPlfs'
bot = TelegramBot(bot_token)
print("Bot is running. Press Ctrl+C to stop.")
try:
update_id = None
while True:
updates = bot.get_updates(offset=update_id)
for update in updates:
update_id = update['update_id'] + 1
message = update.get('message')
if message:
chat_id = message['chat']['id']
text = message.get('text', '')
if text == '/start':
# Вітаємо користувача та пропонуємо вибрати опції
reply_markup = ReplyKeyboardMarkup([['/Стажування', '/Відкриті вакансії']], resize_keyboard=True)
bot.send_message(chat_id, 'Привіт! Що Вас цікавить?', reply_markup=reply_markup)
elif text == '/Стажування':
# Відповідь для вибору "Стажування"
reply_markup = ReplyKeyboardMarkup([['HIRE TALENTS, TRAIN SKILLS', 'ТЕЛЕКОМ GO', 'RELOAD', 'Назад']], resize_keyboard=True)
bot.send_message(chat_id, 'Для молодих талантів у нас є декілька варіантів стажування, що було б цікаво?', reply_markup=reply_markup)
elif text == 'HIRE TALENTS, TRAIN SKILLS':
# Відповідь для вибору "HIRE TALENTS, TRAIN SKILLS"
reply_markup = ReplyKeyboardMarkup([['Можете відправити своє резюме за адресою [email protected]', 'Відвідати наш сайт', 'Назад']], resize_keyboard=True)
bot.send_message(chat_id, '"HIRE TALENTS, TRAIN SKILLS" - це програма стажування для молодих талантів, з якими ми плануємо побудувати спільне майбутнє. Програма спрямована на опанування професії та початок розвитку кар’єри у лайфселл для студентів та випускників.', reply_markup=reply_markup)
elif text == 'Можете відправити своє резюме за адресою [email protected]':
bot.send_link(chat_id, 'Ось пошта за якою Ви можете відправити нам своє CV [email protected]')
elif text == 'Відвідати наш сайт':
# Відкриваємо сайт
bot.send_link(chat_id, **'https://www.lifecell.ua/uk/pro_lifecell/kарiera/programa-jump/')**
elif text == 'ТЕЛЕКОМ GO':
# Відповідь для вибору "ТЕЛЕКОМ GO"
reply_markup = ReplyKeyboardMarkup([['Подай заявку', 'Можете відправити своє резюме за адресою [email protected]', 'Відвідати наш сайт', 'Назад']], resize_keyboard=True)
bot.send_message(chat_id, 'ТЕЛЕКОМ GO - це програма навчання для майбутніх telecom інженерів', reply_markup=reply_markup)
elif text == 'Подай заявку':
bot.send_link(chat_id, 'https://docs.google.com/forms/d/e/1FAIpQLSerH2ucco9BMLHlrbfVoYHGRud67uwss2fBr0KhAiHgXiGBuQ/closedform')
elif text == 'Можете відправити своє резюме за адресою [email protected]':
bot.send_link(chat_id, 'Ось пошта за якою Ви можете відправити нам своє CV [email protected]')
elif text == 'Відвідати наш сайт':
# Відкриваємо сайт
bot.send_link(chat_id, *'https://www.lifecell.ua/uk/pro_lifecell/kарiera/telekom-go/')*
elif text == 'RELOAD':
# Відповідь для вибору "RELOAD"
reply_markup = ReplyKeyboardMarkup([['Можете відправити своє резюме за адресою [email protected]', 'Відвідати наш сайт', 'Назад']], resize_keyboard=True)
bot.send_message(chat_id, 'Запрошуємо в програму Reload, унікальна програма де Ви зможете отримати базові знання в одному із направлень ІТ сфери', reply_markup=reply_markup)
elif text == 'Можете відправити своє резюме за адресою [email protected]':
bot.send_link(chat_id, 'Ось пошта за якою Ви можете відправити нам своє CV [email protected]')
elif text == 'Відвідати наш сайт':
# Відкриваємо сайт
bot.send_link(chat_id, *'https://www.lifecell.ua/uk/pro_lifecell/kарiera/reload/')*
elif text == '/Відкриті вакансії':
bot.send_message(chat_id, 'Ви обрали опцію "Відкриті вакансії".')
elif text == 'Назад':
# Повертаємо користувача на початковий вибір
reply_markup = ReplyKeyboardMarkup([['/Стажування', '/Відкриті вакансії']], resize_keyboard=True)
bot.send_message(chat_id, 'Цікавить стажування чи відкриті вакансії?', reply_markup=reply_markup)
else:
# Ваша логіка обробки інших повідомлень тут
response_text = f'Ви сказали: {text}'
bot.send_message(chat_id, response_text, reply_markup=ReplyKeyboardRemove())
except KeyboardInterrupt:
print("\nBot stopped.")
if __name__ == '__main__':
main()
Ответы (1 шт):
Автор решения: Alex H
→ Ссылка
Подумав, решил вопрос) Нужно было просто сделатьразный текст в при выводе каждой ссылки, а у меня был один и тот же elif text == 'Відвідати наш сайт'