بیت کوین (bitcoin) در حقیقت نوعی ارز دیجیتال است که میتوانید با آن خرید، سفارش آنلاین، و یا حتی واریز به هرکس در هر نقطه از جهان را داشته باشید و یا حتی آن را به عنوان نوعی سرمایهگذاری در نظر بگیرید.
احتمالا همراه با افزایش قیمت وسوسهانگیز ارزهای دیجیتال، در اخبار و فضای مجازی درباره پادشاه ارزهای دیجیتال چیزهایی شنیده باشید و در میان گشتوگذارتان در سایتهای مختلف با مطالبی تحت عنوان اینکه بیتکوین چیست و یا چطور میتوانید بیتکوین رایگان به دست بیاورید، برخورد داشتهاید اما در این پست ما قرار است به قیمت های در حال تغییر بیت کوین بپردازیم و اینکه چطور می توانیم با استفاده از زبان برنامه نویسی پایتون رباتی طراحی کنیم که قیمت بیت کوین را در لحظات حساس به ما یاد آوری و یا حتی برای ما بخواند.
در این آموزش قصد داریم با کوچک کردن مسئله به قطعات زیاد برنامه مورد نظر را پیاده سازی کنیم و به یک سورس واحد دست پیدا کنیم.به صورت خلاصه تکه کد های استفاده شده در برنامه در زیر برای هر بخش قید می شوند تا بتوانید به راحتی از آن ها استفاده کنید.
در این بخش لازم است تا با منطق بررسی قیمت آشنا شویم و عمکرد های گرفتن قیمت و بررسی از طریق شرط ها را بررسی کنیم.
btc_price = 19050
if btc_price < 19000:
print("btc went low", btc_price)
# create an alarm for warning
elif btc_price > 19100:
print("btc went high",btc_price)
# create an info for up price
else:
print(btc_price)
حال که با نحوه کار آشنا شدیم کافیه که برای برنامه یک حلقه تکرار ایجاد کنیم تا بتوان در بازه های مختلف ورود قیمت جدید بررسی ها هم مجدد تکرار و تصمیم های لازم گرفته شوند.
while True:
btc_price = int(input("enter current btc price: "))
if btc_price < 19000:
print("btc went low", btc_price)
# create an alarm for warning
elif btc_price > 19100:
print("btc went high",btc_price)
# create an info for up price
else:
print(btc_price)
قسمت اصلی کار گرفتن قیمت از اینترنت با استفاده از پایتون است که راه های متعددی وجود دارد اما ما برای ساده تر شدن از یک کتابخانه به اسم cryptocompare استفاده می کنیم تا بتوان به راحتی هر چه تمام تر عملکرد دریافت قیمت بیتکوین به دلار را انجام داد.
import cryptocompare
print(cryptocompare.get_price('BTC',curr='USD')["BTC"]["USD"])
نوشته خروجی کافی نیست! در این بخش لازم است که ربات خود درک دهیم تا بتواند به ما هشدار های لازم را دهد که وضعیت لحظه ای بیت کوین و قیمت آن به چه صورت است
from pygame import mixer
mixer.init()
mixer.music.load('alarm.mp3')
mixer.music.play()
حال پا را فراتر می گذاریم و به ربات خود قابلیت خواندن متن را اضافه می کنیم که به TTS یا Text To Speech شهره است و به سادگی این کار را با استفاده از کتابخانه pyttsx3 انجام می دهیم.
import pyttsx3
engine = pyttsx3.init()
engine.say("btc is 19100")
engine.runAndWait()
و در آخر مجموع کد های نوشته شده را به صورت یک پارچه ملاحظه می کنید. برای اطلاعات بیشتر حتما ویدئو را مشاهده کنید و همچنین می توایند سوالات خود را در این باره از ما بپرسید.
# Author : Ali Bigdeli
# Website: icc-aria.ir
# Project Name : BTC Alarm
import cryptocompare
from time import sleep
from pygame import mixer
import pyttsx3
mixer.init()
engine = pyttsx3.init()
thresh_down = int(input("enter down threshold: "))
thresh_up = int(input("enter up threshold: "))
threshold = int(input("enter threshold: "))
while True:
btc_price = cryptocompare.get_price('BTC',curr='USD')["BTC"]["USD"]
if btc_price < thresh_down :
print("btc went low", btc_price)
# create an alarm for warning
thresh_up -= threshold
thresh_down -= threshold
mixer.music.load('alarm.mp3')
mixer.music.play()
engine.say("btc is {}".format(btc_price))
engine.runAndWait()
elif btc_price > thresh_up:
print("btc went high",btc_price)
# create an info for up price
thresh_up = thresh_up + threshold
thresh_down += threshold
mixer.music.load('info.mp3')
mixer.music.play()
engine.say("btc is {}".format(btc_price))
engine.runAndWait()
else:
print(thresh_down,"<",btc_price,"<",thresh_up)
sleep(5)