Total RP 3

Total RP 3

4M Downloads

Implement Unlimited Chat Message feature

Ellypse opened this issue ยท 2 comments

commented

Not only was this feature requested in the past (darned Germans!) but it will also be required for the splitting feature we want to have in issue #74.

The idea is to let people write as much as they want in the chat frame edit box and then split the message into multiple individual messages of less than 255 characters before sending.

Things to note:

  • We should have one function that can be called anywhere we need it in the code that takes one block of text and sends the messages needed.
  • Do not cut midword, or mid punctuation (hyphened-words, possessive's mark apostrophes).
  • The server throttles chat messages. Check what the current limit is to be sure (used to be 10, but we never know) and warn the user before sending that it will be throttled. We should also check how long the throttle is to automatically resume once we can. Do not empty the chat edit box when prompting the user and only empty if they said yes to the prompt, they might want to go back and delete a character or two to go under the threshold.
  • Do not look like this...
commented

Additional Note:

  • The addon "Unlimited Chat Message" provides exactly what you'd want it to do.
  • Similar to Prat and WIM, I would plan to build a hook (maybe extra module for it)
  • You could consider directly handing stuff over to UCM, however I am not sure right off the head how to best go at that.
  • A different manner of approach might be to override the actual logic in ucm if it's detected, using it's core features only if it's activated
  • The main problem is "spreading detection over multiple blocks". If it starts on block one, ends in block two, it is definitely not going to color the text (as there is no beginning in the new block).
commented

Suggestion:
I'd advice you looking into using Emote Splitter instead of Unlimited Chat Message.

Contrary to UCM, Emote Splitter confirms the previous message was sent before sending the next - eliminating the user hitting the spam limit, and having their 2nd and onwards message blocked.