|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
이 종합 가이드에서 우리는 Python을 사용하여 사용자에게 실시간 암호화 업데이트를 제공하는 Telegram 봇 생성에 착수합니다. 세심하게 제작된 이 봇은 선택한 암호화폐의 최신 가격뿐만 아니라 풍부한 추가 데이터도 제공합니다. 이 가이드를 자세히 살펴보고 24시간 가격 변동, 시가총액, 거래량 및 과거 암호화폐 가격 데이터와 같은 중요한 시장 지표를 검색하고 표시하는 방법을 알아보세요. 이 중요한 정보를 손끝에서 확인하면 암호화폐 영역을 자신있게 탐색하고 충분한 정보를 바탕으로 결정을 내릴 수 있습니다.
Building a Crypto Telegram Bot with Real-Time Price Updates Utilizing Python
Python을 활용하여 실시간 가격 업데이트가 가능한 암호화 전보 봇 구축
In the rapidly evolving world of cryptocurrencies, staying abreast of market fluctuations and asset performance is paramount. To address this need, we present a comprehensive guide on constructing a Telegram bot that empowers users with real-time cryptocurrency updates. This bot not only provides instant access to current prices but also offers a wealth of additional information, such as market capitalization, trading volume, and historical price data.
빠르게 진화하는 암호화폐 세계에서는 시장 변동과 자산 성과를 파악하는 것이 무엇보다 중요합니다. 이러한 요구를 해결하기 위해 우리는 사용자에게 실시간 암호화폐 업데이트를 제공하는 Telegram 봇 구성에 대한 포괄적인 가이드를 제시합니다. 이 봇은 현재 가격에 대한 즉각적인 액세스를 제공할 뿐만 아니라 시가총액, 거래량, 과거 가격 데이터와 같은 풍부한 추가 정보도 제공합니다.
Functionality Overview
기능 개요
Our Telegram Crypto Bot boasts an array of features designed to provide a comprehensive and real-time overview of the crypto market:
Telegram Crypto Bot은 암호화폐 시장에 대한 포괄적인 실시간 개요를 제공하도록 설계된 다양한 기능을 자랑합니다.
- Real-Time Crypto Market Data Retrieval: The bot seamlessly fetches and displays real-time market data for various cryptocurrencies, including current price, market cap, volume, and price change percentage.
- 24h High/Low Prices: Users can access the highest and lowest prices of a specific cryptocurrency over the past 24 hours, a crucial piece of information for active traders and investors.
- Supply Information: The bot retrieves and presents the circulating supply and total supply of a selected cryptocurrency, offering insights into its scarcity.
- Top Cryptocurrencies: To provide a quick overview of the leading cryptocurrencies, the bot displays the top 10 coins based on market cap.
- On-Chain DEX Pool Data: This advanced feature enables users to explore on-chain Decentralized Exchange (DEX) crypto liquidity pools, providing valuable insights into the DEX market.
Prerequisites
실시간 암호화폐 시장 데이터 검색: 봇은 현재 가격, 시가총액, 거래량, 가격 변동률 등 다양한 암호화폐에 대한 실시간 시장 데이터를 원활하게 가져와 표시합니다. 24시간 최고/최저 가격: 사용자는 최고 및 최저 가격에 액세스할 수 있습니다. 지난 24시간 동안의 특정 암호화폐 가격은 활동적인 거래자와 투자자에게 중요한 정보입니다. 공급 정보: 봇은 선택한 암호화폐의 순환 공급량과 총 공급량을 검색하고 제시하여 희소성에 대한 통찰력을 제공합니다. 상위 암호화폐: 주요 암호화폐에 대한 간략한 개요를 제공하기 위해 봇은 시가총액을 기준으로 상위 10개의 코인을 표시합니다. 온체인 DEX 풀 데이터: 이 고급 기능을 통해 사용자는 온체인 분산형 거래소(DEX) 암호화폐 유동성 풀을 탐색하여 귀중한 정보를 제공할 수 있습니다. DEX 시장에 대한 통찰력. 전제 조건
Before embarking on this project, ensure that the following prerequisites are met:
이 프로젝트를 시작하기 전에 다음 전제 조건이 충족되는지 확인하십시오.
- Python 3.7 or higher installed on your system. Python is a versatile and beginner-friendly programming language that will serve as the foundation for our bot.
- Telegram account. Telegram is a cloud-based instant messaging platform where our bot will reside.
- Basic understanding of Python programming. While this guide will provide in-depth instructions, a foundational understanding of Python syntax and concepts will enhance your experience.
- Text editor: Choose a text editor or Integrated Development Environment (IDE) of your choice, such as Visual Studio Code, Sublime Text, or Atom, to write your code.
- CoinGecko API: We will leverage the CoinGecko API to fetch the necessary crypto market data. CoinGecko offers a free Demo plan, providing 30 calls per minute and a monthly cap of 10,000 calls. Register for a CoinGecko account and apply for the Demo plan to obtain your API key.
Step 1: Telegram Bot Setup
시스템에 Python 3.7 이상이 설치되어 있습니다. Python은 bot.Telegram 계정의 기반이 될 다재다능하고 초보자 친화적인 프로그래밍 언어입니다. Telegram은 봇이 상주할 클라우드 기반 인스턴트 메시징 플랫폼입니다. Python 프로그래밍에 대한 기본 이해. 이 가이드에서는 심층적인 지침을 제공하지만 Python 구문과 개념에 대한 기초적인 이해가 있으면 경험이 향상됩니다. 텍스트 편집기: Visual Studio Code, Sublime Text 등 원하는 텍스트 편집기나 통합 개발 환경(IDE)을 선택합니다. 또는 Atom을 사용하여 코드를 작성하세요.CoinGecko API: CoinGecko API를 활용하여 필요한 암호화폐 시장 데이터를 가져옵니다. CoinGecko는 분당 30건의 호출과 월간 최대 10,000건의 호출을 제공하는 무료 데모 플랜을 제공합니다. CoinGecko 계정을 등록하고 데모 플랜을 신청하여 API 키를 받으세요.1단계: 텔레그램 봇 설정
- Create a new bot on Telegram by searching for 'BotFather' and following the prompts. Provide a name and username for your bot.
- Upon successful creation, you will receive a token, which serves as your bot's authentication key for Telegram API requests.
Step 2: Installing Python Libraries
Telegram에서 'BotFather'를 검색하고 안내에 따라 새 봇을 생성하세요. 봇의 이름과 사용자 이름을 입력하세요. 성공적으로 생성되면 Telegram API 요청에 대한 봇의 인증 키 역할을 하는 토큰을 받게 됩니다.2단계: Python 라이브러리 설치
We will utilize two essential Python libraries:
우리는 두 가지 필수 Python 라이브러리를 활용합니다:
python-telegram-bot
: This library facilitates interaction with the Telegram API.requests
: This library empowers HTTP requests to the CoinGecko API.
Install these libraries using pip:
python-telegram-bot: 이 라이브러리는 Telegram API와의 상호 작용을 용이하게 합니다.requests: 이 라이브러리는 CoinGecko API에 대한 HTTP 요청을 강화합니다. pip를 사용하여 다음 라이브러리를 설치합니다.
pip install python-telegram-bot requests
Step 3: Fetching Cryptocurrency Data
pip install python-telegram-bot presents 3단계: 암호화폐 데이터 가져오기
To access cryptocurrency data, we will employ the CoinGecko API, which provides comprehensive market insights beyond price information.
암호화폐 데이터에 접근하기 위해 우리는 가격 정보를 넘어 포괄적인 시장 통찰력을 제공하는 CoinGecko API를 사용할 것입니다.
Step 4: Writing the Bot Code
4단계: 봇 코드 작성
Now that our bot is set up and the libraries are installed, let's delve into the Python code:
이제 봇이 설정되고 라이브러리가 설치되었으므로 Python 코드를 살펴보겠습니다.
# Import necessary libraries# 필요한 라이브러리 가져오기
import telebot텔레봇 수입
from telebot import types텔레봇 가져오기 유형에서
import requests수입요청
# Define your CoinGecko API key# CoinGecko API 키 정의
cg_api_key = "YOUR_API_KEY_HERE"cg_api_key = "YOUR_API_KEY_HERE"
# Define the main bot object# 메인 봇 객체 정의
bot = telebot.TeleBot(cg_api_key)bot = telebot.TeleBot(cg_api_key);
# Define command handlers# 명령 핸들러 정의
@bot.message_handler(commands=['start'])@bot.message_handler(commands=['start'])
def start(message):정의 시작(메시지):
# Welcome message# 환영 메시지
bot.send_message(message.chat.id, "Welcome to the Crypto Telegram Bot! Type /help for a list of commands.")bot.send_message(message.chat.id, "Crypto Telegram Bot에 오신 것을 환영합니다! 명령 목록을 보려면 /help를 입력하세요.")
@bot.message_handler(commands=['help'])@bot.message_handler(commands=['help'])
def help(message):데프 도움말(메시지):
# Help message# 도움말 메시지
bot.send_message(message.chat.id, "Available commands:\n/data [crypto-name]: Get current data for a specific cryptocurrency.\n/high_low [crypto-name]: Get highest and lowest prices of a specific cryptocurrency in the last 24 hours.\n/supply [crypto-name]: Get circulating and total supply of a specific cryptocurrency.\n/ranks: Get the top 10 cryptocurrencies.\n/search_pools [query] [network] [attributes]: Get on-chain DEX pool data.")bot.send_message(message.chat.id, "사용 가능한 명령:\n/data [암호화 이름]: 특정 암호화폐에 대한 현재 데이터를 가져옵니다.\n/high_low [암호화 이름]: 특정 암호화폐의 최고 및 최저 가격을 가져옵니다. 지난 24시간 동안의 암호화폐.\n/supply [암호화폐 이름]: 특정 암호화폐의 순환 및 총 공급량을 가져옵니다.\n/ranks: 상위 10개 암호화폐를 가져옵니다.\n/search_pools [쿼리] [네트워크] [속성 ]: 온체인 DEX 풀 데이터를 가져옵니다.")
@bot.message_handler(commands=['data'])@bot.message_handler(commands=['data'])
def data(message):데프 데이터(메시지):
# Get current data for a specific cryptocurrency# 특정 암호화폐에 대한 현재 데이터를 가져옵니다.
crypto_name = message.text.split()[1]crypto_name = message.text.split()[1]
data = get_crypto_data(crypto_name)데이터 = get_crypto_data(crypto_name)
if data:데이터인 경우:
# Send the data to the user# 사용자에게 데이터를 보냅니다
bot.send_message(message.chat.id, f"Current data for {crypto_name}:\nPrice: {data['current_price']} USD\nPrice Change (24h): {data['price_change_percentage_24h']}\nMarket Cap: {data['market_cap']} USD\nVolume (24h): {data['total_volume']} USD")bot.send_message(message.chat.id, f"{crypto_name}의 현재 데이터:\n가격: {data['current_price']} USD\n가격 변동(24시간): {data['price_change_percentage_24h']}\n시가총액: {data['market_cap']} USD\n볼륨(24시간): {data['total_volume']} USD")
else:또 다른:
# Handle errors# 오류 처리
bot.send_message(message.chat.id, "Invalid cryptocurrency name. Please try again.")bot.send_message(message.chat.id, "잘못된 암호화폐 이름입니다. 다시 시도하십시오.")
@bot.message_handler(commands=['high_low'])@bot.message_handler(commands=['high_low'])
def high_low(message):def high_low(메시지):
# Get highest and lowest prices of a specific cryptocurrency in the last 24 hours# 지난 24시간 동안 특정 암호화폐의 최고 가격과 최저 가격을 확인하세요
crypto_name = message.text.split()[1]crypto_name = message.text.split()[1]
data = get_high_low(crypto_name)데이터 = get_high_low(crypto_name)
if data:데이터인 경우:
# Send the data to the user# 사용자에게 데이터를 보냅니다
bot.send_message(message.chat.id, f"Highest and lowest prices of {crypto_name} in the last 24 hours:\nHighest Price: {data['high']} USD\nLowest Price: {data['low']} USD")bot.send_message(message.chat.id, f"지난 24시간 동안 {crypto_name}의 최고 및 최저 가격:\n최고 가격: {data['high']} USD\n최저 가격: {data['low'] } USD")
else:또 다른:
# Handle errors# 오류 처리
bot.send_message(message.chat.id, "Invalid cryptocurrency name. Please try again.")bot.send_message(message.chat.id, "잘못된 암호화폐 이름입니다. 다시 시도하십시오.")
@bot.message_handler(commands=['supply'])@bot.message_handler(commands=['supply'])
def supply(message):데프 공급(메시지):
# Get circulating and total supply of a specific cryptocurrency# 특정 암호화폐의 유통 및 전체 공급량을 확보합니다.
crypto_name = message.text.split()[1]crypto_name = message.text.split()[1]
data = get_supply(crypto_name)데이터 = get_supply(crypto_name)
if data:데이터인 경우:
# Send the data to the user# 사용자에게 데이터를 보냅니다
bot.send_message(message.chat.id, f"Supply data for {crypto_name}:\nCirculating Supply: {data['circulating_supply']}\nTotal Supply: {data['total_supply']}")bot.send_message(message.chat.id, f"{crypto_name}에 대한 공급 데이터:\n순환 공급량: {data['circlating_supply']}\n총 공급량: {data['total_supply']}")
else:또 다른:
# Handle errors# 오류 처리
bot.send_message(message.chat.id, "Invalid cryptocurrency name. Please try again.")bot.send_message(message.chat.id, "잘못된 암호화폐 이름입니다. 다시 시도하십시오.")
@bot.message_handler(commands=['ranks'])@bot.message_handler(commands=['ranks'])
def ranks(message):방어 순위(메시지):
# Get the top 10 cryptocurrencies# 상위 10개 암호화폐를 획득하세요
data = get_top_cryptos()데이터 = get_top_cryptos()
if data:데이터인 경우:
# Send the data to the user# 사용자에게 데이터를 보냅니다
top_10 = "\n".join([f"{i + 1}. {crypto['name']}" for i, crypto in enumerate(data)])top_10 = "\n".join([f"{i + 1}. {crypto['name']}" for i, crypto in enumerate(data)])
bot.send_message(message.chat.id, f"Top 10 Cryptocurrencies by Market Cap:\n{top_10}")bot.send_message(message.chat.id, f"시가총액 기준 상위 10개 암호화폐:\n{top_10}")
else:또 다른:
# Handle errors# 오류 처리
bot.send_message(message.chat.id, "Unable to fetch the top 10 cryptocurrencies. Please try again later.")bot.send_message(message.chat.id, "상위 10개 암호화폐를 가져올 수 없습니다. 나중에 다시 시도하십시오.")
# Define functions to get data from CoinGecko API# CoinGecko API에서 데이터를 가져오는 함수를 정의합니다.
def get_crypto_data(crypto_name):def get_crypto_data(crypto_name):
# Get current data for a specific cryptocurrency# 특정 암호화폐에 대한 현재 데이터를 가져옵니다.
response = requests.get("https://api.coingecko.com/api/v3/coins/markets?vs_currency=usd&ids=" + crypto_name)응답 = 요청.get("https://api.coingecko.com/api/v3/coins/markets?vs_currency=usd&ids=" + crypto_name)
if response.status_code == 200:response.status_code == 200인 경우:
return response.json()[0]response.json()[0] 반환
else:또 다른:
return None반환 없음
def get_high_low(crypto_name):def get_high_low(crypto_name):
# Get highest and lowest prices of a specific cryptocurrency in the last 24 hours# 지난 24시간 동안 특정 암호화폐의 최고 가격과 최저 가격을 확인하세요
response = requests.get("https://api.coingecko.com/api/v3/coins/" + crypto_name + "/ohlc?vs_currency=usd&days=1")응답 = 요청.get("https://api.coingecko.com/api/v3/coins/" + crypto_name + "/ohlc?vs_currency=usd&days=1")
if response.status_code == 200:response.status_code == 200인 경우:
return response.json()[-1]response.json()[-1] 반환
else:또 다른:
return None반환 없음
def get_supply(crypto_name):def get_supply(crypto_name):
# Get circulating and total supply of a specific cryptocurrency# 특정 암호화폐의 유통 및 전체 공급량을 확보합니다.
response = requests.get("https://api.coingecko.com/api/v3/coins/" + crypto_name + "/market_chart?vs_currency=usd&days=1")응답 = 요청.get("https://api.coingecko.com/api/v3/coins/" + crypto_name + "/market_chart?vs_currency=usd&days=1")
if response.status_code == 200:response.status_code == 200인 경우:
return response.json()['total_supply_and_circulating_supply']return response.json()['total_supply_and_circulated_supply']
else:또 다른:
return None반환 없음
def get_top_cryptos():def get_top_cryptos():
# Get the top 10 cryptocurrencies# 상위 10개 암호화폐를 획득하세요
response = requests.get("https://api.coingecko.com/api/v3/coins/markets?vs_currency=usd&order=market_cap_desc&per_page=10")
응답 = 요청.get("https://api.coingecko.com/api/v3/coins/markets?vs_currency=usd&order=market_cap_desc&per_page=10")
부인 성명:info@kdj.com
The information provided is not trading advice. kdj.com does not assume any responsibility for any investments made based on the information provided in this article. Cryptocurrencies are highly volatile and it is highly recommended that you invest with caution after thorough research!
If you believe that the content used on this website infringes your copyright, please contact us immediately (info@kdj.com) and we will delete it promptly.