- Дней с нами
- 3.028
- Розыгрыши
- 5
- Сообщения
- 1.908
- Репутация
- 36
- Реакции
- 1.473
Теневой КомитетMarch 30, 2020
Пример твита от такого бота
Сегодня мы будем создавать свой собственный Twitter бот, публикующий обновления рынка в режиме реального времени для ваших любимых криптовалют. Это возможно с помощью Python, Tweepy и LunarCRUSH. Ниже мы опишем пошаговый процесс с использованием Python. Бот тянет информацию о валютах из LunarCRUSH.
Метрики для Bitcoin, Ethereum, Litecoin сохраняются в виде отформатированных переменных и автоматически выводятся в Твиттере каждые 30 минут.
Настройка учетной записи Twitter и Tweepy
Давайте начнем с установки Tweepy. Это достаточно просто совершается через командную строку, используя команду:
pip install tweepy
Далее вам нужно создать аккаунт разработчика в Твиттере.
Twitter для разработчиков предоставляет доступ к API Twitter для публикации и анализа твитов.
Прежде чем начать использовать API Twitter, создайте учетную запись разработчика и сгенерируйте ключи API. Вы можете подать заявку на аккаунт разработчика прямо здесь. Вы должны ответить на вопросы о том, как вы планируете использовать API и принять Соглашение разработчика Twitter, и тогда вам будет предоставлен доступ к панели инструментов разработчика.
Получив одобрение доступа к Developers for Twitter, войдите на сайт разработчика и создайте свое приложение. Этот шаг автоматически сгенерирует ваши ключи API и токены доступа, помните, вы должны держать их в секрете:
Аккаунт разработчика должен быть связан с аккаунтом Twitter, где вы хотите активировать бота. На платформе Twitter Development вы можете редактировать разрешения приложения. В моем примере я предоставил своему приложению разрешение на чтение, запись и отправку прямых сообщений.
Введение в LunarCRUSH
Чтобы начать знакомство с криптовалютой в социальных сетях, вы должны зайти на LunarCRUSH.com и создать учетную запись.
В левом столбце перейдите к Developers и выберите API Docs
Сгенерируйте V2 API Key
Как только вы окажетесь в API Docs, создайте ключ API V2.
Создание бота в Twitter с помощью Python, Tweepy, LunarCRUSH
Давайте начнем строить нашего бота в Twitter. Как упоминалось ранее, вы будете использовать библиотеку Tweepy, которая без проблем работает с Twitter API и LunarCRUSH API / LunarSTREAM .
Сначала импортируем твипы. Tweepy упрощает аутентификацию API через секретные ключи нашего приложения Twitter.
Ниже приведен фрагмент кода, повторите его, создав экземпляр OAuthHandler для входа в систему.
Чтобы иметь возможность отправлять запросы в API, отправьте обратно токен доступа. Используйте метод auth.set_access_token для хранения токена запроса доступа для нашего сеанса.
Теперь вы готовы контролировать вашу учетную запись Twitter с помощью Python. Обратите внимание, что я написал «XXX» вместо своих настоящих API-ключей. Замените «XXX» Api-ключами, которые вы можете получить на своей панели инструментов Twitter для разработчиков.
import tweepy
import urllib.request
import ssl
import json
import time
ssl._create_default_https_context = ssl._create_unverified_context
# Oauth keys
consumer_key ="XXX"
consumer_secret ="XXX"
access_token ="XXX"
access_token_secret ="XXX"
# Authentication with Twitter
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)
Наша переменная api - это место, где вы храните настройки аутентификации. Вы будете использовать его для отправки запросов в Twitter API.
Идея этого бота в Твиттере состоит в том, чтобы публиковать разные твиты, каждые x минут, с определенными показателями монет / токенов криптовалюты.
Давайте добавим наши ключи API LunarCRUSH к коду. Просто добавьте:
api_key = "XXX"
Теперь вы прошли аутентификацию с помощью LunarCRUSH API. Настало время решить, какие криптовалюты вы хотели бы интегрировать в свои твиты. Используйте coin_list для хранения различных символов шифрования. Например, «LTC» - это Litecoin, «ETH» - это Ethereum, а «BTC» - это биткоин.
coin_list = [
"LTC",
"ETH",
"BTC"
]
coins = ','.join(coin_list)
Список полей, требуемых от API: KEY - это ключ LunarCRUSH, а 2ое значение - это имя поля, выводимое в Twitter.
{"LUNAR_CRUSH_KEY": "RENDERED_NAME"}
Например, чтобы добавить "ответы на твит", добавьте в код это:
{"tweet_replies": "Tweet Replies: "},
Теперь вы можете отобразить, какие значения вы хотите получить из LunarCRUSH API. Например, цена токена, его капитализация и тд:
map = [
{"name":""},
{"symbol": ""},
{"price": " Price: "},
{"percent_change_24h": " - 24 Hour Percent Change: "},
{"market_cap": " Market Cap: "},
{"volume_24h": " 24 Hour Volume: "},
{"url_shares": " URL Shares: "},
{"reddit_posts": " Reddit Posts: "},
{"tweets": " Tweets: "},
{"galaxy_score": " Galaxy Score: "},
{"volatility": " Volatility: "},
{"social_volume": " Social Volume: "},
{"news": " News: "},
{"close": " Close: "},
]
def final_render(asset_tweet, value, key, asset):
if key == 'symbol':
asset_tweet += " (" + asset[key] + ")"
elif key == 'percent_change_24h':
asset_tweet += value + str(asset[key]) + "%"
else:
asset_tweet += value + str(asset[key])
return asset_tweet
Теперь переберите каждое из полей из LunarCRUSH, которые получают значение из LunarCRUSH и отображает его с именем поля.
def main():
url = "https://api.lunarcrush.com/v2?data=assets&key=" + api_key + "&symbol=" + coins
assets = json.loads(urllib.request.urlopen(url).read())
for asset in assets['data']:
asset_tweet = ""
for field in map:
key = list(field.keys())[0]
value = list(field.values())[0]
asset_tweet = final_render(asset_tweet, value, key, asset)
print(asset_tweet)
print(len(asset_tweet))
# Posts tweets
api.update_status(status=asset_tweet)
# Runs main() every 30 minutes
while True:
main()
time.sleep(1800)
Пример твита от такого бота
Сегодня мы будем создавать свой собственный Twitter бот, публикующий обновления рынка в режиме реального времени для ваших любимых криптовалют. Это возможно с помощью Python, Tweepy и LunarCRUSH. Ниже мы опишем пошаговый процесс с использованием Python. Бот тянет информацию о валютах из LunarCRUSH.
Метрики для Bitcoin, Ethereum, Litecoin сохраняются в виде отформатированных переменных и автоматически выводятся в Твиттере каждые 30 минут.
Настройка учетной записи Twitter и Tweepy
Давайте начнем с установки Tweepy. Это достаточно просто совершается через командную строку, используя команду:
pip install tweepy
Далее вам нужно создать аккаунт разработчика в Твиттере.
Twitter для разработчиков предоставляет доступ к API Twitter для публикации и анализа твитов.
Прежде чем начать использовать API Twitter, создайте учетную запись разработчика и сгенерируйте ключи API. Вы можете подать заявку на аккаунт разработчика прямо здесь. Вы должны ответить на вопросы о том, как вы планируете использовать API и принять Соглашение разработчика Twitter, и тогда вам будет предоставлен доступ к панели инструментов разработчика.
Получив одобрение доступа к Developers for Twitter, войдите на сайт разработчика и создайте свое приложение. Этот шаг автоматически сгенерирует ваши ключи API и токены доступа, помните, вы должны держать их в секрете:
Аккаунт разработчика должен быть связан с аккаунтом Twitter, где вы хотите активировать бота. На платформе Twitter Development вы можете редактировать разрешения приложения. В моем примере я предоставил своему приложению разрешение на чтение, запись и отправку прямых сообщений.
Введение в LunarCRUSH
Чтобы начать знакомство с криптовалютой в социальных сетях, вы должны зайти на LunarCRUSH.com и создать учетную запись.
В левом столбце перейдите к Developers и выберите API Docs
Сгенерируйте V2 API Key
Как только вы окажетесь в API Docs, создайте ключ API V2.
Создание бота в Twitter с помощью Python, Tweepy, LunarCRUSH
Давайте начнем строить нашего бота в Twitter. Как упоминалось ранее, вы будете использовать библиотеку Tweepy, которая без проблем работает с Twitter API и LunarCRUSH API / LunarSTREAM .
Сначала импортируем твипы. Tweepy упрощает аутентификацию API через секретные ключи нашего приложения Twitter.
Ниже приведен фрагмент кода, повторите его, создав экземпляр OAuthHandler для входа в систему.
Чтобы иметь возможность отправлять запросы в API, отправьте обратно токен доступа. Используйте метод auth.set_access_token для хранения токена запроса доступа для нашего сеанса.
Теперь вы готовы контролировать вашу учетную запись Twitter с помощью Python. Обратите внимание, что я написал «XXX» вместо своих настоящих API-ключей. Замените «XXX» Api-ключами, которые вы можете получить на своей панели инструментов Twitter для разработчиков.
import tweepy
import urllib.request
import ssl
import json
import time
ssl._create_default_https_context = ssl._create_unverified_context
# Oauth keys
consumer_key ="XXX"
consumer_secret ="XXX"
access_token ="XXX"
access_token_secret ="XXX"
# Authentication with Twitter
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)
Наша переменная api - это место, где вы храните настройки аутентификации. Вы будете использовать его для отправки запросов в Twitter API.
Идея этого бота в Твиттере состоит в том, чтобы публиковать разные твиты, каждые x минут, с определенными показателями монет / токенов криптовалюты.
Давайте добавим наши ключи API LunarCRUSH к коду. Просто добавьте:
api_key = "XXX"
Теперь вы прошли аутентификацию с помощью LunarCRUSH API. Настало время решить, какие криптовалюты вы хотели бы интегрировать в свои твиты. Используйте coin_list для хранения различных символов шифрования. Например, «LTC» - это Litecoin, «ETH» - это Ethereum, а «BTC» - это биткоин.
coin_list = [
"LTC",
"ETH",
"BTC"
]
coins = ','.join(coin_list)
Список полей, требуемых от API: KEY - это ключ LunarCRUSH, а 2ое значение - это имя поля, выводимое в Twitter.
{"LUNAR_CRUSH_KEY": "RENDERED_NAME"}
Например, чтобы добавить "ответы на твит", добавьте в код это:
{"tweet_replies": "Tweet Replies: "},
Теперь вы можете отобразить, какие значения вы хотите получить из LunarCRUSH API. Например, цена токена, его капитализация и тд:
map = [
{"name":""},
{"symbol": ""},
{"price": " Price: "},
{"percent_change_24h": " - 24 Hour Percent Change: "},
{"market_cap": " Market Cap: "},
{"volume_24h": " 24 Hour Volume: "},
{"url_shares": " URL Shares: "},
{"reddit_posts": " Reddit Posts: "},
{"tweets": " Tweets: "},
{"galaxy_score": " Galaxy Score: "},
{"volatility": " Volatility: "},
{"social_volume": " Social Volume: "},
{"news": " News: "},
{"close": " Close: "},
]
def final_render(asset_tweet, value, key, asset):
if key == 'symbol':
asset_tweet += " (" + asset[key] + ")"
elif key == 'percent_change_24h':
asset_tweet += value + str(asset[key]) + "%"
else:
asset_tweet += value + str(asset[key])
return asset_tweet
Теперь переберите каждое из полей из LunarCRUSH, которые получают значение из LunarCRUSH и отображает его с именем поля.
def main():
url = "https://api.lunarcrush.com/v2?data=assets&key=" + api_key + "&symbol=" + coins
assets = json.loads(urllib.request.urlopen(url).read())
for asset in assets['data']:
asset_tweet = ""
for field in map:
key = list(field.keys())[0]
value = list(field.values())[0]
asset_tweet = final_render(asset_tweet, value, key, asset)
print(asset_tweet)
print(len(asset_tweet))
# Posts tweets
api.update_status(status=asset_tweet)
# Runs main() every 30 minutes
while True:
main()
time.sleep(1800)