def genshingen(name):
if name in characterName:
if "url" in characterName[name]:
return characterName[name]["url"]
if "zh" in characterName[name]:
result = characterName[name]["zh"]
else:
raise ValueError()
elif name in characterTrans:
resalt = characterName[characterTrans[name]["ja"]]["zh"]
else:
raise ValueError()
result = urllib.parse.quote(result)
return f"https://bbs.hoyolab.com/hoyowiki/picture/character/{resalt}/avatar.png"
以下のソースでURLの取得優先度が低いことが原因
https://github.com/CinnamonSea2073/Genshin-Discordbot/blob/b46215db8473312b7a4b9840347a84a448a91661/cogs/wish.py#L28-L40
暫定的な解決策
urlのデータを持っているデータを参照させるためurlがあるかの判定を先頭に書くだけで解決する
潜在的問題
この関数の呼び出し先でURLにNoneが含まれるかどうかの判定している部分が問題のためValueErrorなどの例外をraiseする方法に変えたほうが良いと思います
また例外で条件分岐する処理は可読性を下げるので結果的に以下のようなソースで処理するのが好ましいと考えます(利用先ではValueErrorを受け取ったときの処理を記述します