پروژه ربات هشدار قیمت بیت کوین یا BTC Alarm با پایتون
![](/media/CACHE/images/images/blog_thumbs/btc-alarm-min/99eb9d38a0f5f94ca8519bbdde4cc04f.jpg)
بیت کوین (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)
ثبت دیدگاه
دیدگاه کاربران (0)
دوره های من در مکتبخونه
![](/static/images/maktabkhooneh/django-ecommerce.webp)
آموزش طراحی فروشگاه با جنگو
- سطح: پیشرفته 5
![](/static/images/maktabkhooneh/django-advanced.webp)
آموزش جنگو پیشرفته
- سطح: پیشرفته 4.9
![](/static/images/maktabkhooneh/django.webp)
آموزش جنگو Django
- سطح: مقدماتی 4.6
![](/static/images/maktabkhooneh/python-oop.jpg)
آموزش شیءگرایی در پایتون
- سطح: متوسط 4.3
![](/static/images/maktabkhooneh/micropython.webp)
آموزش میکروپایتون در اینترنت اشیا
- سطح: متوسط 3.8
آخرین پست ها
![انتقال پروژه Django از پلتفرم Liara به پلتفرم Hamravesh](/media/CACHE/images/images/blog_thumbs/Untitled-1/f7dbb925302290026f561d31596bfee9.jpg)
انتقال پروژه Django از پلتفرم Liara به پلتفرم Hamravesh
- خوب رسیدیم به بخش ترسناکی که برای خیلی ها می تونه کابوس باشه اونم انتقال پروژه از یک پلتفرم به پلتفرم دیگه، اما با این ویدئو مسائل رو براتون خیلی…
- django 1403/05/28
![پیاده سازی پروژه Django Channels (ASGI/Websocket) بر روی پلتفرم Hamravesh](/media/CACHE/images/images/blog_thumbs/hamravesh-channels/6c0507b8799f6378afb68f66f69c12a4.jpg)
پیاده سازی پروژه Django Channels (ASGI/Websocket) بر روی پلتفرم Hamravesh
- توی این ویدئو درباره نحوه پیاده سازی پروژه های ASGI در جنگو با استفاده از ماژول Channels و Daphne صحبت خواهم کرد و یک نمونه پروژه برای تست رو در…
- django 1403/05/19
![پیاده سازی پروژه django بر روی پلتفرم Caprover به همراه Media](/media/CACHE/images/images/blog_thumbs/django-caprover/ff4ba23722c3d7d320c262fdb39737c8.jpg)
پیاده سازی پروژه django بر روی پلتفرم Caprover به همراه Media
- توی این ویدئو نحوه پیاده سازی پروژه جنگو رو به صورت کامل بر روی پلتفرم caprover شرح دادم به طوری که یک پروژه قالب رو آماده سازی کردم و در…
- django 1403/05/15
آخرین دوره ها
![آموزش برنامه نویسی Async در پایتون](/media/CACHE/images/images/course_covers/python_async/9501dc526248d39b2de27ea07e6f479f.jpg)
آموزش برنامه نویسی Async در پایتون
- 0 27 دانشجو
![آموزش ساخت ربات تلگرام با پایتون](/media/CACHE/images/images/course_covers/telegram_bot/3eecf99224f00d1cff6b1ce9fec339b6.jpg)
آموزش ساخت ربات تلگرام با پایتون
- 500000 20 دانشجو
![آموزش arduino](/media/CACHE/images/images/course_covers/arduino-tutorial/0bd86c61f960b59ba07cb1033dc27477.jpg)
آموزش Arduino
- 0 122 دانشجو