fjaros / wowchat

WoWChat is a clientless Discord integration chat bot for old versions of World of Warcraft.
GNU General Public License v3.0
138 stars 97 forks source link

Cannot write messages from discord to guild or channel #86

Closed dkapte closed 1 year ago

dkapte commented 1 year ago

I have successfully setup the bot to read the guild chat + world channel and post it in the discord channel. The only issue i have is that i cannot send any chats from discord to the guild chat or to the channel. Could you please help out why. The BOT has all premissions in the discord channel

This is my config (sorry about the format)

enable_dot_commands=0 dot_commands_whitelist=[] enable_commands_channels=[] enable_tag_failed_notifications=1

guild { online { enabled=1 format="[%user] has come online." } offline { enabled=0 format="[%user] has gone offline." } promoted { enabled=1 format="[%user] has promoted [%target] to [%rank]." } demoted { enabled=1 format="[%user] has demoted [%target] to [%rank]." } joined { enabled=1 format="[%user] has joined the guild." } left { enabled=1 format="[%user] has left the guild." } removed { enabled=1 format="[%target] has been kicked out of the guild by [%user]." } motd { enabled=0 format="Guild Message of the Day: %message" } achievement { enabled=1 format="%user has earned the achievement %achievement!" } }

chat { channels=[ { direction=both wow { type=Guild format="[%user]: %message" } discord { channel=1054854028229611111 format="[%user]: %message" } } { direction=both wow { type=Officer format="[%user]: %message" } discord { channel=1054854028229611111 format="[%user]: %message" } } { direction=both wow { type=Say format="[%user]: %message" } discord { channel=1054854028229611111 format="[%user]: %message" } } { direction=both wow { type=Yell format="[%user]: %message" } discord { channel=1054854028229611111 format="[%user]: %message" } } { direction=both wow { type=Emote format="%user %message" } discord { channel=1054854028229611111 format="%user %message" } } { direction=both wow { type=System } discord { channel=1054854028229611111 format="[SYSTEM]: %message" } }

{
  direction=both
  wow {
    type=Channel
    channel="Wereldchat"
    format="[%user]: %message"
  }
  discord {
    channel=1054854028229611111
    format="[%target] [%user]: %message"
  }
}

] }

filters { enabled=0 patterns=[ ".(?i)(?=.g.?ld)(?=.level)(?=.item).$" # case insensitive filter for messages containing all 3 words g?ld, level, and item in any order ".(?=.>>)(?=.<<).*$" # filter for messages containg >> and << in any order (both must be in the message) ] }

fjaros commented 1 year ago

Config seems to be good. Is it possible the server you are on has some level restrictions where players cannot talk until they are a certain level? This could be the case.

dkapte commented 1 year ago

I boosted the discord bot to level 80 and tested it ingame and can send messages without any problem in the world channel and guild so tested it and no problem ingame. Only through discord it does not seem to come through from discord to wow. Only from wow to discord although i set the config to direction=both

pnetrio commented 1 year ago

Hello i have same issue now on Stormforge PTR Can you check it what could be wrong? Ingame to discord works OK. It seems like bot don't read DC channel.

discord {

token=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

enable_dot_commands=1

dot_commands_whitelist=[ ]

enable_commands_channels=[

]

enable_tag_failed_notifications=1 }

wow { platform=Mac

enable_server_motd=1

version=2.4.3 realmlist=logon.stormforge.gg realm=Public Test Realm - TBC account=discordbot password=XXXXXXXXXXX character=Discordbot

}

guild { online { enabled=1 format="[%user] has come online." } offline { enabled=1 format="[%user] has gone offline." } promoted { enabled=1 format="[%user] has promoted [%target] to [%rank]." } demoted { enabled=1 format="[%user] has demoted [%target] to [%rank]." } joined { enabled=1 format="[%user] has joined the guild." } left { enabled=1 format="[%user] has left the guild." } removed { enabled=1 format="[%target] has been kicked out of the guild by [%user]." } motd { enabled=1 format="Guild Message of the Day: %message" } achievement { enabled=1 format="%user has earned the achievement %achievement!" } }

chat { channels=[ { direction=both wow { type=Guild format="[%user]: %message" } discord { channel=1067406797025050644 format="[%user]: %message" } } { direction=discord_to_wow discord { channel=1067406797025050644 format="[%user]: %message" } wow { type=Guild format="[%user]: %message" } } { direction=wow_to_discord wow { type=System } discord { channel=1067406797025050644 format="[SYSTEM]: %message" } } ] }

filters { enabled=0 patterns=[ ".(?i)(?=.g.?ld)(?=.level)(?=.item).$" # case insensitive filter for messages containing all 3 words g?ld, level, and item in any order ".(?=.>>)(?=.<<).*$" # filter for messages containg >> and << in any order (both must be in the message) ] }

fjaros commented 1 year ago

Once again, Discord has added an extra hoop you have to jump through. You need to enable MESSAGE CONTENT INTENT in the developer portal under Bot: image