Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 22, 2024 05:09:40

Alarikh
Зарегистрирован: 2023-12-26
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Нужна помощь - телеграм бот

Всем привет, я новичок
Нужно создать бот в телеграмме, который автоматически постит посты из твиттера в телеграмм канал.
Вот прописанный код(логи изменены в целях безопасности)

import tweepy
import logging
from telegram import Bot, ParseMode
from telegram.ext import Updater, CallbackContext
from telegram.ext import JobQueue

logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)

# Twitter API credentials
consumer_key = “vdSsOoFfJPSc47tcefV692y”
consumer_secret = “hCsZmDiexpI3Ys1b9lOyT4nR2Vk5VxR1CXA64hPAP7I5bC”
access_token = “9839345669760614-51mLhYMsBvYICad9QJPtLRsSsEqsx”
access_token_secret = “hv23K6AHuyd5k9p5RohrbLFyqGfqCHgYxl481E2y3”

# Twitter OAuth 2.0 credentials
client_id = “UHdOMVctakRsUW0yJaR080b0k6MTpjaQ”
client_secret = “6eoLdA7g7Na9KMb45wKpgxQ7Y0eVjWj560uND_66moKLoE4HZS”

# Telegram Bot Token
telegram_token = “6924420737:AAEGq4sWe8c7KtTUhwTsWQ1jzvyy9cE4”

# Telegram Channel ID
telegram_channel_id = “@SnibbuCrabArmy”

# Authenticate with Twitter
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
twitter_api = tweepy.API(auth)

# Authenticate with Twitter using OAuth 2.0
auth_2 = tweepy.AppAuthHandler(client_id, client_secret)
twitter_api_2 = tweepy.API(auth_2, wait_on_rate_limit=True)

# Authenticate with Telegram
telegram_bot = Bot(token=telegram_token)

def post_latest_tweet(context: CallbackContext):
logger.info(“Posting latest tweet…”)
twitter_username = “@snibbucoineth”

try:
user_tweets = twitter_api_2.user_timeline(screen_name=twitter_username, count=1, tweet_mode=“extended”)
if user_tweets:
latest_tweet = user_tweets.full_text
else:
logger.info(“No tweets found.”)
return
except tweepy.error.TweepError as e:
logger.error(f“Error fetching tweet: {str(e)}”)
return

try:
context.bot.send_message(chat_id=telegram_channel_id, text=latest_tweet, parse_mode=ParseMode.HTML)
logger.info(“Tweet posted successfully.”)
except Exception as e:
logger.error(f“Error posting to Telegram: {str(e)}”)

if __name__ == “__main__”:
logger.info(“Bot is starting…”)
updater = Updater(token=telegram_token, use_context=True)
dispatcher = updater.dispatcher

job_queue = updater.job_queue
job_queue.run_repeating(post_latest_tweet, interval=300, first=0)

updater.start_polling()
updater.idle()

Вот код
Выдает ошибку по типу:
Traceback (most recent call last):
File “C:\Users\BLACK\twitter_to_telegram_bot.py”, line 3, in <module>
from telegram import Bot, ParseMode
ImportError: cannot import name ‘ParseMode’ from ‘telegram’ (C:\Users\BLACK\AppData\Local\Programs\Python\Python312\Lib\site-packages\telegram\__init__.py)

Офлайн

#2 Янв. 24, 2024 21:52:53

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2604
Репутация: +  62  -
Профиль   Отправить e-mail  

Нужна помощь - телеграм бот

судя по коду вы не новичек а просто еблан
Который о питоне знает что он есть
Дерзайте



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version