繁体   English   中英

Python:类型错误:inet_aton() 参数 1 必须是 str,而不是 None

[英]Python: TypeError: inet_aton() argument 1 must be str, not None

我正在使用手机游戏 API 和 Telegram Bot。 当我放入一个固定的 Clantag 时它起作用了,但现在我想让用户编写一个标签并将其添加到链接中。 然后应用程序应该搜索氏族并获得正确的统计数据。 一切正常,但我现在收到此消息,但找不到我的错误。 如果你能帮上忙,我会很高兴的!

def main():
    last_update_id = None
    message = ""
    while True:
        updates = get_updates(last_update_id)
        if len(updates["result"]) > 0:
            last_update_id = get_last_update_id(updates) + 1
            message = get_last_update_Message(updates)
            clan_stats(updates, message)
def get_last_update_Message(updates):
    message = ""
    for update in updates["result"]:
        message = update["message"]
    return message["text"]
def clan_stats(updates, ID):
    #https://api.royaleapi.com/clan/1RLU78YU
    Link = '"https://api.royaleapi.com/clan/' + ID + '"'

    r=requests.get(Link, headers={"Accept":"application/json",
    "authorization":"Bearer TOKENHERE"})
    clan = r.json()

完整追溯:

Traceback (most recent call last):
  File "/home/Lee63225/clashroyaleclanbot.py", line 188, in <module>
    main()
  File "/home/Lee63225/clashroyaleclanbot.py", line 184, in main
    clan_stats(updates, message)
  File "/home/Lee63225/clashroyaleclanbot.py", line 80, in clan_stats
    "authorization":"Bearer TOKENHERE"})
  File "/usr/lib/python3.7/site-packages/requests/api.py", line 72, in get
    return request('get', url, params=params, **kwargs)
  File "/usr/lib/python3.7/site-packages/requests/api.py", line 58, in request
    return session.request(method=method, url=url, **kwargs)
  File "/usr/lib/python3.7/site-packages/requests/sessions.py", line 503, in request
    prep.url, proxies, stream, verify, cert
  File "/usr/lib/python3.7/site-packages/requests/sessions.py", line 676, in merge_environment_settings
    env_proxies = get_environ_proxies(url, no_proxy=no_proxy)
  File "/usr/lib/python3.7/site-packages/requests/utils.py", line 760, in get_environ_proxies
    if should_bypass_proxies(url, no_proxy=no_proxy):
File "/usr/lib/python3.7/site-packages/requests/utils.py", line 716, in should_bypass_proxies
    if is_ipv4_address(parsed.hostname):
  File "/usr/lib/python3.7/site-packages/requests/utils.py", line 640, in is_ipv4_address
    socket.inet_aton(string_ip)
TypeError: inet_aton() argument 1 must be str, not None

谢谢!

我认为它应该是

Link = 'https://api.royaleapi.com/clan/' + ID

在您的尝试中有一些周围的"

但现在我看,该函数被称为clan_stats(update,message) 该“消息”应该是一个 clantag,确保它是(因为现在它来自get_last_update_Message() ,并且看起来非常可疑。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM