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.