Add a new message on the Bulletin board.

 

Syntax

function mAddNewBBSMessage(const sMsg:string; const dtExpire: double; const bStick: boolean): integer;

 

Parameters and return values

Parameter

Type

Value

sMsg

string

message text;

dtExpire

double

announcement expiration time. Calculated in UTC automatically;

bStick

boolean

if "true", then a message will be placed on top of all messages ignoring date sorting.

 

Function result

>0

message was posted successfully, the result is equal to the message index in the database;

-1

message can't be empty;

-2

announcement expiration time can't be older than a current date.

 

Example


// ---------------------------------------
// Script created by Alexey Pikurov (support@nsoft-s.com)
// 18.01.2021 20:45:13
// ---------------------------------------
var
  iUIN: integer;
  dtExpired: double;
  sUsersList, sUserFullName, sMsg, sGender, sToday: string;
begin
  dtExpired := Now; // getting the current date
  sToday := FormatDateTime('ddmmyyyy', dtExpired);
    // if we worked today, do nothing
    // to not send greetings again for the same people
    if mDBStorageGetData('birthday-script') = sToday then exit
      else mDBStorageSetData('birthday-script', sToday);
  
  sUsersList := mGetBirthdayUsers(dtExpired); // getting the list of UINs who have a birthday today
                                  
    while length(sUsersList) > 0 do begin
      iUIN := StrToInt(Fetch(sUsersList, ',')); 
      sUserFullName := mGetUserFullNameByPreset(iUIN, 0); // 0 — "John J. Doe"
      
        if mGetUserAttribute(iUIN, 'Sex') = '2' then sGender := 'her' // getting a user's gender
          else sGender := 'him'
        
      // creating a string for greetings
      sMsg := 'Today ' + sUserFullName + ' is celebrating a birthday!' +
              CRLF +
              'We wish ' + sGender + ' all the best' +
              'from the bottom of our hearts!';
        
        // if it is a weekend, add a number of days to Monday
        case DayOfTheWeek(dtExpired) of
          6: IncDay(dtExpired, 2);
          7: IncDay(dtExpired, 1);
        end;
      // ...and post greetings on the Bulletin board to display for all users
      mAddNewBBSMessage(sMsg, dtExpired, false);
    end;
end.


Script work result

Today John J. Doe is celebrating a birthday!

We wish him all the best from the bottom of our hearts!

 

See also

DayOfTheWeek

Fetch

FormatDateTime

IncDay

Length

mGetBirthdayUsers

mGetUserAttribute

mGetUserFullNameByPreset

mDBStorageGetData

mDBStorageSetData

Now

StrToInt

Created with the Personal Edition of HelpNDoc: Create iPhone web-based documentation