하얀설표 블로그




해결)function() got an unexpected keyword argument 'argument name'




( 수정됨)


에러 코드

Traceback (most recent call last):
  File "*.py", line 404, in <module>
    telegram()
  File "*.py", line 378, in telegram
    tg.xlsx(
  File "*.py", line 172, in xlsx
    message(text, token=token, id=id, path=path)
  File "*.py", line 104, in message
    tg.sendDocument(
TypeError: tg.message() got an unexpected keyword argument 'disable_web_page_preview'

해결 방법

함수에서 제공받지 않는 인수(argument)를 전달하지 않는다.

설명

내 경우엔 telepot 모듈을 사용하다가 이 문제가 생겼었다.
telepot 모듈에는 일반 텍스트 메세지를 보내는 기능과, txt나 xlsx, 이미지 등과 같은 파일을 보낼 수 있는 기능이 따로 존재한다.

그 중 파일을 전송해주는 sendDocument() 함수에서는 사용하지 않고, sendMessage() 함수에서 사용하는 인수(text, disable_web_page_preview)를 같이 전달하고 있는 것이 문제였다.

bot.sendDocument(
    text=text,
    chat_id=id,
    path=path,
    disable_web_page_preview=disable_web_page_preview,
)

당연하지만, 해당 함수에서 전달받지 않는 인수를 제거해주니 문제가 해결되었다.

bot.sendDocument(
    chat_id=id,
    path=path,
)

코드를 작성할 때 함수에서 제공받는 인수가 무엇인지 확인만 제대로 했어도 겪지 않을 수 있었던 문제였다.


공감 : 0







white.seolpyo.com