🐡

【Go】Discordのbot自身のニックネームを変更する方法

2023/01/01に公開

bot自身のNicknameを変更する方法に手間取ったので、原因と解決法を紹介します。

※ライブラリはdiscordgoを使用しています。

結論

まず最初に答えからいきます。
GuildMemberNicknameの第二引数はユーザーIDではなく、@meとします。

// ニックネームを変更
if err = session.GuildMemberNickname("<ギルドID>", "@me", "<変更するニックネーム>"); err != nil {
	log.Fatalln(err)
}

ハマったこと

ここをbotのユーザーIDを入れてしまうと、以下のような403のPermissionエラーが発生します。
botのロールを管理者権限にしても、403エラーが発生するので、必ず@meにしましょう!

2023/01/01 00:45:52 HTTP 403 Forbidden, {"message": "Missing Permissions", "code": 50013}
exit status 1

Discussion