kangarko / ChatControl-Red

Issue tracker and documentation for the next generation ChatControl Red, the most advanced chat management plugin.
49 stars 23 forks source link

Discord integration incompatible with EmojiChat emote translating - not sending message emote to discord. #302

Closed mibby closed 3 years ago

mibby commented 3 years ago

Minecraft Version: 1.16.4 MySQL: true BungeeCord: false

ChatControl Red v10.1.9 DiscordSRV v1.21.1-SNAPSHOT EmojiChat v1.8.3

ChatControl Red's discord integration seems to be incompatible with EmojiChat and not translating Emojis sent in-game upstream to the connected discord channel.

My guess is ChatControl Red is sending the raw unicode / chinese characters to its own discord hook before it's mapped to an emote by EmojiChat? This issue does not exist with ChatControl Pro (v8) with discord integration off & letting chat be forwarded entirely by DiscordSRV. It's properly displayed on discord & in-game with the the old version / discordSRV.

I have tried adjusting the chat listener to both Chat_Listener_Priority: HIGH & Chat_Listener_Priority: MONITOR. Neither fix the issue.

Old reference: https://github.com/kangarko/ChatControl-Pro/issues/1498

Edit: Here is how it looks on ChatControl Pro (v8) with discord integration handled entirely by DiscordSRV only.

kangarko commented 3 years ago

Try setting Integration.Discord.Send_Messages_As_Bot in settings.yml to false. Unfortunately if that doesn't help then it's incompatible for now.

mibby commented 3 years ago

That setting was already turned off when tested. Besides, that should only delete/rewrite messages on discord sent to in-game, not in-game sent upstream to discord, no? In both screnshots, the Emoji was used in-game and forwarded upstream to the discord channel.

  Discord:

    # Discord does not let us edit messages, so we must remove the original message and resend
    # it as the bot. You will see your message disappear and reappear in a second or less. 
    # true = messages are sent as bot (username icons not visible)
    # false = we do not edit your discord messages (warning: this breaks antispam, rules and 
    #         removing messages on discord)
    Send_Messages_As_Bot: false

Discord integration in Red just doesn't register the emoji alias in ChatControl, whereas DiscordSRV handling integration with ChatControl 8 does. Perhaps it's an issue with registering chat some ticks before EmojiChat handles it? Not sure why DiscordSRV doesn't have the issue.

Disabling ChatControl Red's discord integration means messages deleted in-game wouldn't delete from the bridged chat. So if it could be fixed, I'd really appreciate it. :(

kangarko commented 3 years ago

Thank you! I have other priorities right now such as fixing /reply command, sorry but I can't change this right now, feel free to resuggest this in the future.

mibby commented 3 years ago

Sure, no problem. Can this ticket just be reopened? Emojis properly display both directions (discord -> ingame; ingame -> discord) when discord integration is disabled in ChatControl Red. If you could look to see how DiscordSRV natively parses emojis for Red's own integration, it would be much appreciated. I'm forced to keep Red's discord integration disabled for emojis to work, which makes it so I can't use the new remove message button feature of Red. :(

Could it be as simple as just waiting a tick for EmojiChat?

This is with Discord integration enabled on Red. First emoji was used in-game, second/third emoji came from discord channel.

This is with Discord integration disabled on Red, chat forwarding handled entirely by DiscordSRV.

Latest testing with ChatControl Red 10.1.12

ElBananaa commented 3 years ago

Sure, no problem. Can this ticket just be reopened? Emojis properly display both directions (discord -> ingame; ingame -> discord) when discord integration is disabled in ChatControl Red. If you could look to see how DiscordSRV natively parses emojis for Red's own integration, it would be much appreciated. I'm forced to keep Red's discord integration disabled for emojis to work, which makes it so I can't use the new remove message button feature of Red. :(

Could it be as simple as just waiting a tick for EmojiChat?

This is with Discord integration enabled on Red. First emoji was used in-game, second/third emoji came from discord channel. link4

This is with Discord integration disabled on Red, chat forwarding handled entirely by DiscordSRV. link5

Latest testing with ChatControl Red 10.1.12

Hey! As Kangarko said above, in order to keep clean and understandable tracks of issues/suggestions, you should simply consider opening a new ticket in a few weeks.

kangarko commented 3 years ago

I am not certain where things break, but given the fact we entirely cancel chat event and send it in our own, unique way (due to channels), I see no easy out. You'll need to stick with DiscordSRV integration to keep emojis for the time being.

mibby commented 3 years ago

Would it be outside the feature scope of ChatControl to implement its own emoji handling with a resource pack that has font unicode pngs? Assuming compatibility with ChatControl's discord integration can't be fixed to work with EmojiChat.

kangarko commented 3 years ago

Not right now, but I can put this to the backburner.