Properties
It is possible to save data in bot. Data can be numeric, text, datetime and etc.
For example:
- Bot can have DailyBonus saved in bot prop (it is global for all bot)
- User can have Balance saved in user prop (it is personall)
Properties can be belong for user or for bot.
Properties can be:
- integer, e.g.:
150
- float, e.g.:
5.5
- boolean:
true, false
- string, e.g.:
"Hello world"
- text, e.g.:
"it is very big text ..... 1000 symbols here or more"
- json, e.g.:
{ any: "data", here: "can", be: {used: true}, with: ["array", "too"] }
- datetime, e.g:
new Date()
// set global prop
Bot.setProperty({ name: 'myProp', value: 15 });
// set JSON prop for user
User.setProperty({
name: 'BIO',
value: { email: "[email protected]", age: 10 }
});
- so for global prop use
Bot.xxx
method - for user's prop use
User.xxx
method
You can use short naming also:
Bot.setProp
, User.setProp
also you can use old style:
// set global prop
Bot.setProperty("myProp", 15, "float");
// set global prop
Bot.setProperty({
name: 'otherUserProp',
value: "test Prop",
// you can pass other user.id for saving user prop for other user
user_id: other_user.id
});
// set global prop
Bot.setProperty({
name: 'otherUserProp',
value: "test Prop",
// you can pass other user.id for saving user prop for other user
user_telegramid: other_user.telegramid
});
You can set (or read) property via bot_id and read (or set) it via telegramid. It doesn't matter and it will be the same value.
// get global prop
var myProp = Bot.getProperty('myProp');
Bot.sendMessage("prop: " + myProp);
// get prop for user
var bio = User.getProperty('BIO');
Bot.sendMessage("Hello, " + bio);
or get prop with default value:
// prop by default will be 15
var myProp = Bot.getProperty('myProp', 15);
You can use short naming also:
Bot.getProp
, User.getProp
Your bot must have this user
// get prop for other user
var bio = Bot.getProperty({
name: 'BIO',
// you can pass other user.id for getting other user prop
user_id: other_user_id
// or by telegramid:
// user_telegramid: other_user_telegramid
});
You can set (or read) property via bot_id and read (or set) it via telegramid. It doesn't matter and it will be the same value.
Your account must have this bot
// get other bot prop for cur user
var bio = Bot.getProperty({
name: 'BIO',
bot_id: other_bot_id // available via bot.id
// if needed:
// user_id: userID // for user's prop
// user_telegramid: tgID // for user by telegramid
});
Your account must have this bot with this user
// get other bot prop for cur user
var bio = Bot.getProperty({
name: 'BIO',
bot_id: other_bot_id // available via bot.id
// you can pass other user.id for getting other user prop
user_id: other_user_id
});
Pass
null
to prop's value for property deleting:// prop "myProp" with null value will be removed
Bot.setProperty("myProp", null, "float" });
Last modified 9d ago