Je construis un bot de télégramme qui me dit le prix de Bitcoin en USD chaque fois que j'envoie la commande bot a "/ prix" sur le télégramme. Cela fonctionne, mais le prix ne met pas à jour à moins que je réagit le script Python. Comment puis-je garder le script fonctionner pour toujours pour que je n'ai pas besoin de cliquer sur "Exécuter"? Voici mon code:
import requests
import telebot
# BITCOIN DATA
url = 'https://api.coinbase.com/v2/prices/USD/spot?'
response = requests.get(url).json()
# BOT STUFF
bot = telebot.TeleBot("1135809125:AAHHx7sZ5276Kg34VWYDuwHIJB76s5QS9UQ")
@bot.message_handler(commands=['price'])
def send_welcome(message):
bot.reply_to(message, "The current price of Bitcoin in USD is " + response['data'][0]['amount'])
@bot.message_handler(func=lambda message: True)
def echo_all(message):
bot.reply_to(message, message.text)
bot.polling()
3 Réponses :
Utilisez un pendant code> boucle:
Peut-être essayer peut-être avec ou ou selon lien , vous pouvez essayer ceci: p > iTertools code>: itheroTools.count () code>: p> if __name__ == '__main__':
bot.polling(none_stop=True)
Le dernier édition ne fonctionne toujours pas :( je l'apprécie vraiment bien que
la réponse doit être à l'intérieur send_welcomewecome code> pour obtenir le prix actuel à chaque fois que vous envoyez une commande / prix. @bot.message_handler(commands=['price'])
def send_welcome(message):
response = requests.get(url).json()
bot.reply_to(message, "The current price of Bitcoin in USD is " + response['data'][0]['amount'])
C'est ce qu'on appelle une boucle et est couverte de nombreux tutoriels existants. En tant que tel, la question est hors de portée du débordement de la pile.