Top.Mail.Ru
Ответы

Что делать если

я начинающий кодер, пишу код для бота с помощью библиотеки pyTelegramBotAPI. когда я хочу добавить команду с помощью webbrowser который будет открывать страницу инстаграмм и делаю тест с другого устройства, на устройстве не открывается страница, она открывается на моем пк. помогите исправить код

123456789101112131415161718192021
 import telebot  
import webbrowser 
 
 
bot = telebot.TeleBot('') 
 
@bot.message_handler(commands=['social']) 
def site(message): 
    webbrowser.open('https://www.instagram.com/') 
 
@bot.message_handler(commands=['start']) 
def main(message): 
    bot.reply_to(message)     
 
 
@bot.message_handler() 
def info(message): 
    if message.text.lower() == '': 
        bot.reply_to(message, '') 
 
bot.polling(non_stop=True) 
По дате
По рейтингу
Аватар пользователя
Новичок
3мес

Проблема в твоем коде заключается в том, что ты используешь функцию webbrowser.open () для открытия страницы, но эта функция открывает страницу на устройстве, на котором запускается код, а не на устройстве, с которого был отправлен запрос в Telegram.

Так как бот работает на сервере (или на твоем ПК), страница откроется именно на этом устройстве. То есть, при нажатии на команду с другого устройства, браузер откроется не на нем, а на твоем ПК.

Как это исправить:
Чтобы пользователь открыл ссылку на своем устройстве, вместо того, чтобы использовать webbrowser.open (), нужно отправить ссылку через Telegram, чтобы она была кликабельной на устройстве пользователя. Например, ты можешь отправить ссылку как текст или как кнопку с URL.

Вот исправленный код, который отправляет ссылку пользователю в сообщении, и она будет открыта на его устройстве:

python
Копировать код
import telebot

bot = telebot.TeleBot('YOUR_BOT_API_TOKEN') # Убедись, что заменил на свой токен

# Команда для отправки ссылки на Инстаграм
@bot.message_handler(commands=['social'])
def site(message):
bot.reply_to(message, "Вот ссылка на Instagram: https://www.instagram.com/ ")

# Команда для приветствия
@bot.message_handler(commands=['start'])
def main(message):
bot.reply_to(message, "Привет! Напиши /social, чтобы получить ссылку на Instagram.")

# Обработчик других сообщений
@bot.message_handler()
def info(message):
bot.reply_to(message, "Напишите /social, чтобы получить ссылку на Instagram.")

bot.polling(non_stop=True)

Аватар пользователя
Мудрец
3мес

учи c++ и не трать на это время, кодер сраный

Аватар пользователя
3мес

я украду у тебя и стану праграмистам лучше)