TypeError: send_message () получил неожиданный аргумент ключевого слова 'parse_mode' - PullRequest
0 голосов
/ 31 марта 2020

Ниже приведен код, который я использую для бота-телеграммы, который публикует новые обновления из моего предпочтительного поддредита. Это не мой код (я обнаружил его в сети при переполнении стека), но я получаю эту ошибку. Я искал везде, но не было никакого решения, которое я мог найти. В любом случае, даже небольшая информация о том, в каком направлении я go, будет принята с благодарностью.

import telebot
import praw
import config
bot_token = 'x'
bot_chatID = '@monsterKing_bot'
bot = telebot.TeleBot(bot_token)

reddit = praw.Reddit(client_id='x', \
                     client_secret='x', \
                     user_agent='x', \
                     username='x ', \
                     password='x')

def reddit_scraper(submission):
    news_data = []
    subreddit = reddit.subreddit('coronavirus')
    new_subreddit = subreddit.new(limit=500)
    for submission in subreddit.new(limit=5):
        data = {}
        data['title'] = submission.title
        data['link'] = submission.url
        news_data.append(data)
    return news_data

def get_msg(news_data):
    msg = '\n\n\n'
    for news_item in news_data:
        title = news_item['title']
        link = news_item['link']
        msg += title+'\n[<a href="'+link+'">Read the full article --></a>]'
        msg += '\n\n'

    return msg

subreddit = reddit.subreddit('coronavirus')
new_subreddit = subreddit.new(limit=500)
for submission in subreddit.new(limit=1):
    news_data = reddit_scraper(submission)
    if len(news_data) > 0:
        msg = get_msg(news_data)
        status = bot.send_message(chat_id='@monsterKing_bot', text=msg, parse_mode=telegram.ParseMode.HTML)        
        if status:            
            print(status)
else:
    print('No updates.')

Полное сообщение об ошибке ниже:

Traceback (most recent call last):
  File "c:\Users\mayan\Downloads\redditscraperbot.py", line 42, in <module>
    status = bot.send_message(chat_id='@monsterKing_bot', text=msg, parse_mode=telegram.ParseMode.HTML)
TypeError: send_message() got an unexpected keyword argument 'parse_mode'

1 Ответ

0 голосов
/ 04 апреля 2020

Мой идентификатор чата был неверным. Идентификатор чата - это число, которое мы можем получить от другого бота (userinfobot)

chat_id= 1261748gd278, а не chat_id=@name ...

...