View Single Post
02/25/15, 02:22 PM   #6
Migoda
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 18
Thanks for your inputs!

After digging a bit deeper in the code i figured out how TIM handles the mailing. tim.sendQueuedMail() is part of the update callback function (fired from OnUpdate), so one mail from the queue is sent every tick.

TIM uses a custom throttle function to control update ticks for special purposes. I ended up using this function in tim.sendQueuedMail() with my desired delay and it works.

Here is the final code:

Lua Code:
  1. function tim.sendQueuedMail()
  2.   if tim.mailQueueindex>0 then
  3.     if (tim.UpdateThrottle("SendQueuedMail", tim.throttleCountMail) == true) then
  4.       -- EINEN MailQueue-Eintrag senden (pro Aufruf dieser Funktion)
  5.       local mailboxwasopen=tim.MailBoxOpen
  6.       if tim.MailBoxOpen==false then
  7.         RequestOpenMailbox()
  8.       end
  9.       tim.wait4mail=true
  10.       tim.MailInQueue=tim.mailQueue.mTO[tim.mailQueueindex]
  11.       tim.MailInQueueSUB=tim.mailQueue.mSUB[tim.mailQueueindex]
  12.       SendMail(tim.mailQueue.mTO[tim.mailQueueindex], tim.mailQueue.mSUB[tim.mailQueueindex], tim.mailQueue.mTEXT[tim.mailQueueindex])
  13.       if mailboxwasopen==false then
  14.         CloseMailbox()
  15.       end
  16.       tim.mailQueueindex=tim.mailQueueindex-1
  17.     end
  18.   end
  19. end
  Reply With Quote