New matticate feature!/addalias </alias> </command>
- Allows custom aliases to be bound to existing commands. The alias must not be an existing command. All aliases/commands are automatically converted into lowercase text, and can contain letters, numbers and underscores.
This feature is currently in beta. Due to that, there is no active method of deleting or viewing existing aliases yet, so please be patient, that will come soon.
Telegram have banned my main account for no apparent reason. Luckily, my channels and bots remain but if anything happens and mattata/this channel gets deleted, more information will be left in @mattata_backup, and another copy of the bot will be put online. In the meantime, I hope this will get resolved (I know someone who recently had this happen to them, and their account was restored within 24 hours).
Читать полностью…(Active meaning they've made some kind of contact with mattata in the past 2 weeks)
Читать полностью…This means information for about 75% of users that mattata knows, is no longer available, since these are people who mattata has seen in the past year but maybe aren't in groups with mattata anymore, so I don't really want to consider them "users".
Читать полностью…TL;DR database structure update, you won't lose any data so it's nothing serious for you, but in 5 minutes mattata will have some downtime (this could be anywhere up to a few hours, if my estimations are correct)
Читать полностью…A new wrapper for the Telegram bot API: https://github.com/jTelegram/jTelegramBotAPI
This wrapper fully embraces Java 8, and all the glory it has to offer.
They have a support group right here on Telegram! @JTelegramSupport
In November alone, the database has grown by over 70 thousand users! This is amazing!
Читать полностью…News from an upcoming project, coDesign, which I am part of. Please clap and comment, thanks.
https://artplusmarketing.com/building-a-unified-aggregator-curator-codesign-a95a6cc19cd0
I have a new PayPal! If you ever want to send me £££, make sure you use PayPal.me/matthesketh
Читать полностью…I'll commit practically every minor change I make to the dev branch from now on, as the changes occur
Читать полностью…For those of you interested in applying this little "memory patch" which solves the issue of MISCONF making Redis stop writes on BGSAVE, feel free to just use echo "vm.overcommit_memory = 1" >> /etc/sysctl.conf && sysctl -p /etc/sysctl.conf (you'll need to use su first, unless you've bumfucked your permissions)
Читать полностью…AI going forward is going to be @matticatebot only, as @mattatabot has a lot more strain on it and it also reserves resources on my server for other things
Читать полностью…matticate now uses PCRE-regex instead of Lua patterns for its sed-like substitution command, s/text/replace
Thanks to topkecleon for the code this is derived from. (https://github.com/topkecleon/otouto/blob/master/otouto/plugins/regex.lua)
It's like a huge jigsaw. There are people in here with "neighbouring" IDs. There's also some dude who has an insane amount of 9s in his ID.
Читать полностью…On a positive, this still means mattata has over 200 thousand active users! That's like, a really big number dude
Читать полностью…I'm only saving user information for 2 weeks now. Any users who don't interact with mattata for 2 weeks or longer will be forgotten (however, settings and toggled plugins will remain, this is just information such as their name, username and ID - information which is cached simply to prevent the need to repeatedly call the getChat method)
Читать полностью…User data is being migrated to a JSON structure, in such a way that means all user info for the user with the ID 1234 will be in a file located data/users/1234/info.json. This is really simple for noobs to understand, and it's not kept in the memory, each user is constantly being updated and this info is read when necessary. It's a lot more practical because every time mattata meets a new user, redis uses a slightly bit more memory, and I can't forever upgrade the server. Assuming I don't do anything retarded in the process, no data loss (like your settings for plugins and administration) will occur. In fact, you probably won't even notice the changes have happened.
It's ~2AM here, so I'm now going to run a script that will basically migrate all user/chat data (at the moment this is just things like name, username, ID, etc.) to this new format. This is hopefully just a temporary solution to the memory issue I seem to be facing a lot, and a permanent move to PostgreSQL should happen some time in 2018.
If you URGENTLY require mattata's functionality during the next hour, you have about 5 minutes before she goes offline, so please use a temporary alternative such as Group Butler (if you're using her for administrative purporses) or otouto (if you're just using the nifty things) [do note that there are still many features mattata boasts which, to my knowledge, no other bots other than up-to-date forks of mattata are capable of doing, but none of these are really dependant features]
Many people have been saying they are unable to donate because of payment restrictions in their country.
I will now happily accept any donations in Bitcoin or Ether!
Bitcoin: 12ipinb7HKXYGUSk8eNeewDuBx1w2vTzFm
Ether: 0xD4e1917Eca52E50A9A30E8400E26104114d0f929
Thanks again!
Since this date, the number of users in the database has reached over 870,000, growing quicker every day. Number of chats sits at over 58,000!
Читать полностью…Oh also I released telegram-bot-lua v1.8 to add support for latest bot API additions!
Читать полностью…I've already pushed changes which move more misc functions from mattata.lua to libs/utils.lua, and fixes a bug which broke the "delete commands" setting in /administration.
Читать полностью…Redis background saving schema relies on the copy-on-write semantic of fork in modern operating systems: Redis forks (creates a child process) that is an exact copy of the parent. The child process dumps the DB on disk and finally exits. In theory the child should use as much memory as the parent being a copy, but actually thanks to the copy-on-write semantic implemented by most modern operating systems the parent and child process will share the common memory pages. A page will be duplicated only when it changes in the child or in the parent. Since in theory all the pages may change while the child process is saving, Linux can't tell in advance how much memory the child will take, so if the overcommit_memory setting is set to zero fork will fail unless there is as much free RAM as required to really duplicate all the parent memory pages, with the result that if you have a Redis dataset of 3 GB and just 2 GB of free memory it will fail.
Setting overcommit_memory to 1 says Linux to relax and perform the fork in a more optimistic allocation fashion, and this is indeed what you want for Redis.
— http://redis.io/topics/faq