|
@@ -198,10 +198,21 @@ func (gt *GuildsTree) onSelected(n *tview.TreeNode) {
|
|
|
return
|
|
return
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- mainFlex.messagesText.SetTitle(gt.channelToString(*c))
|
|
|
|
|
|
|
+ clientID := discordState.Ready().User.ID
|
|
|
|
|
+ perms, err := discordState.Permissions(c.ID, clientID)
|
|
|
|
|
+ if err != nil {
|
|
|
|
|
+ log.Println(err)
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ if perms.Has(discord.PermissionSendMessages) {
|
|
|
|
|
+ app.SetFocus(mainFlex.messageInput)
|
|
|
|
|
+ } else {
|
|
|
|
|
+ mainFlex.messageInput.SetDisabled(true)
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
|
|
+ mainFlex.messagesText.SetTitle(gt.channelToString(*c))
|
|
|
gt.selectedChannelID = ref
|
|
gt.selectedChannelID = ref
|
|
|
- app.SetFocus(mainFlex.messageInput)
|
|
|
|
|
case nil: // Direct messages
|
|
case nil: // Direct messages
|
|
|
cs, err := discordState.Cabinet.PrivateChannels()
|
|
cs, err := discordState.Cabinet.PrivateChannels()
|
|
|
if err != nil {
|
|
if err != nil {
|