Thumbnail

rani/matterbridge.git

Clone URL: https://git.buni.party/rani/matterbridge.git

Viewing file on branch master

1package transmitter
2
3import (
4 "github.com/bwmarrin/discordgo"
5)
6
7// isDiscordPermissionError returns false for nil, and true if a Discord RESTError with code discordgo.ErrorCodeMissionPermissions
8func isDiscordPermissionError(err error) bool {
9 if err == nil {
10 return false
11 }
12
13 restErr, ok := err.(*discordgo.RESTError)
14 if !ok {
15 return false
16 }
17
18 return restErr.Message != nil && restErr.Message.Code == discordgo.ErrCodeMissingPermissions
19}
20
21// getDiscordUserID gets own user ID from state, and fallback on API request
22func getDiscordUserID(session *discordgo.Session) (string, error) {
23 if user := session.State.User; user != nil {
24 return user.ID, nil
25 }
26
27 user, err := session.User("@me")
28 if err != nil {
29 return "", err
30 }
31 return user.ID, nil
32}
33