提问者:小点点

TypeError:send_message()得到了一个意外的关键字参数parse_mode


下面是我用于电报机器人的代码,它从我喜欢的subreddit发布新的更新。这不是我的代码(我在堆栈溢出时在网上找到的),但我一直收到这个错误。我到处都找遍了,但没有找到任何解决方案。不管怎样,它在这里,即使是我应该去哪个方向的微小信息,也将不胜感激。

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'

共2个答案

匿名用户

尝试pip安装pyTelegram BotAPI而不是pip安装远程机器人

匿名用户

我的聊天ID错误。聊天id是我们可以从另一个机器人(userinfobot)获得的数字

chat_id=1261748gd278notchat_id=@name