2018-06-04 00:24:34 +02:00
package main
import (
2019-01-10 00:16:39 +01:00
"fmt"
"github.com/bwmarrin/discordgo"
"log"
2018-06-04 00:24:34 +02:00
)
func unlockUser ( s * discordgo . Session , id string ) {
2019-01-10 00:16:39 +01:00
s . GuildMemberRoleRemove ( config . ServerID , id , config . LockedRoleID )
log . Printf ( "Removed lock from user: %s" , userToString ( getUser ( s , id ) ) )
2018-06-04 00:24:34 +02:00
}
func userToString ( u * discordgo . User ) string {
2019-01-10 00:16:39 +01:00
return fmt . Sprintf ( "%s#%s (ID: %s)" , u . Username , u . Discriminator , u . ID )
2018-06-04 00:24:34 +02:00
}
func roleName ( s * discordgo . State , rid string ) string {
2019-01-10 00:16:39 +01:00
role , _ := s . Role ( config . ServerID , rid )
return role . Name
2018-06-04 00:24:34 +02:00
}
func channelToString ( c * discordgo . Channel ) string {
2019-01-10 00:16:39 +01:00
return fmt . Sprintf ( "%s (ID: %s) on %s" , c . Name , c . ID , c . GuildID )
2018-06-04 00:24:34 +02:00
}
func messageToString ( m * discordgo . Message ) string {
2019-01-10 00:16:39 +01:00
return fmt . Sprintf ( "<%s#%s>: %s" , m . Author . Username , m . Author . Discriminator , m . Content )
2018-06-04 00:24:34 +02:00
}
func getChannel ( s * discordgo . State , cid string ) * discordgo . Channel {
2019-01-10 00:16:39 +01:00
channel , _ := s . Channel ( cid )
return channel
2018-06-04 00:24:34 +02:00
}
func getUser ( s * discordgo . Session , uid string ) * discordgo . User {
2019-01-10 00:16:39 +01:00
user , _ := s . User ( uid )
return user
2018-06-04 00:24:34 +02:00
}
2018-06-08 17:36:35 +02:00
func isDM ( s * discordgo . Session , m * discordgo . MessageCreate ) bool {
2019-01-10 00:16:39 +01:00
return ( getChannel ( s . State , m . ChannelID ) . Type == discordgo . ChannelTypeDM )
2018-06-08 17:36:35 +02:00
}
2018-12-30 16:35:18 +01:00
func getDMChannelFromMessage ( s * discordgo . Session , m * discordgo . MessageCreate ) * discordgo . Channel {
dm , _ := s . UserChannelCreate ( m . Author . ID )
return dm
}
2018-06-08 17:36:35 +02:00
func isAdmin ( u * discordgo . User ) bool {
2019-01-10 00:16:39 +01:00
for _ , admin := range config . Admins {
if u . ID == admin {
return true
}
}
return false
2018-06-08 17:36:35 +02:00
}