Commit graph

110 commits

Author SHA1 Message Date
baalajimaestro 1a736e84ce
Use libressl from source instead of openssl
Brings down our binary size by another mb

Signed-off-by: baalajimaestro <me@baalajimaestro.me>
2022-04-25 11:42:08 +05:30
baalajimaestro 6d7ecb36a0
Add back forgotten clang
Signed-off-by: baalajimaestro <me@baalajimaestro.me>
2022-04-25 11:38:19 +05:30
baalajimaestro b8b09f17a8
Use gc arc
Signed-off-by: baalajimaestro <me@baalajimaestro.me>
2022-04-25 11:15:44 +05:30
baalajimaestro 3cb6f91086
Some more size optimizations
Signed-off-by: baalajimaestro <me@baalajimaestro.me>
2022-04-25 10:33:18 +05:30
baalajimaestro 37c7687784
Dont run runtime safety checks
Signed-off-by: baalajimaestro <me@baalajimaestro.me>
2022-04-25 10:32:14 +05:30
baalajimaestro 26fedf56b0
Use LLD linker
Signed-off-by: baalajimaestro <me@baalajimaestro.me>
2022-04-25 10:27:55 +05:30
baalajimaestro a49e047457
Do full LTO instead of thinLTO
Saves us 0.85MB

Signed-off-by: baalajimaestro <me@baalajimaestro.me>
2022-04-25 10:27:35 +05:30
baalajimaestro 15dbf2f29d
Do LTO on the binary
Signed-off-by: baalajimaestro <me@baalajimaestro.me>
2022-04-25 10:08:24 +05:30
baalajimaestro c77bc890cb
Optimize for speed instead of size
The gain is actually just 0.2MB

Signed-off-by: baalajimaestro <me@baalajimaestro.me>
2022-04-25 10:07:06 +05:30
baalajimaestro 3939ad5069
Use NSFW instead of Censored in output
We should be clear to tell users that the media is nsfw and its fully at their own risk

Signed-off-by: baalajimaestro <me@baalajimaestro.me>
2022-04-23 18:38:51 +05:30
baalajimaestro 26aaa13f60
Fix start command
Signed-off-by: baalajimaestro <me@baalajimaestro.me>
2022-04-17 20:24:20 +05:30
baalajimaestro 1953d6f2cf
Dont send ftype on album
Album can contain heterogeneous types

Signed-off-by: baalajimaestro <me@baalajimaestro.me>
2022-04-17 20:20:59 +05:30
baalajimaestro c7d6d284b6
Uprev bot version
Signed-off-by: baalajimaestro <me@baalajimaestro.me>
2022-04-17 20:18:38 +05:30
baalajimaestro 82083fedf7
Split strings for readability
Signed-off-by: baalajimaestro <me@baalajimaestro.me>
2022-04-17 20:17:40 +05:30
baalajimaestro 31ae8e1c1f
Make imports much cleaner
Signed-off-by: baalajimaestro <me@baalajimaestro.me>
2022-04-17 20:05:10 +05:30
baalajimaestro 010c834aac
Source code command to make the user clear on the bot source
Signed-off-by: baalajimaestro <me@baalajimaestro.me>
2022-04-17 20:03:44 +05:30
baalajimaestro af6d4d68ab
Capitalize on inline
Signed-off-by: baalajimaestro <me@baalajimaestro.me>
2022-04-17 19:56:01 +05:30
baalajimaestro d939f6942e
Drop unused import
Signed-off-by: baalajimaestro <me@baalajimaestro.me>
2022-04-17 19:43:43 +05:30
baalajimaestro 512cb26cba
Process inline queries for sharing
Signed-off-by: baalajimaestro <me@baalajimaestro.me>
2022-04-17 19:42:35 +05:30
baalajimaestro bb22849959
Dont handle non-message updates
Signed-off-by: baalajimaestro <me@baalajimaestro.me>
2022-04-17 19:41:58 +05:30
baalajimaestro 5eac4c95d5
Move the response to switchinline
Signed-off-by: baalajimaestro <me@baalajimaestro.me>
2022-04-17 15:01:08 +05:30
baalajimaestro ed158f0a47
Poll when webhook domain is missing
Hooks is not very easy to setup, so lets fallback to polling if the hook domain is not defined

Signed-off-by: baalajimaestro <me@baalajimaestro.me>
2022-04-11 18:15:59 +05:30
baalajimaestro 9c9a7f71f3
Dont allow older versions for norm and telebot
Signed-off-by: baalajimaestro <me@baalajimaestro.me>
2022-04-11 16:10:24 +05:30
baalajimaestro acb3d241dc
Expose 8080 automatically from dockerfile for service discovery
Signed-off-by: baalajimaestro <me@baalajimaestro.me>
2022-04-11 15:45:42 +05:30
baalajimaestro 3e5c1b415f
Enable webhooks on bot
Signed-off-by: baalajimaestro <me@baalajimaestro.me>
2022-04-11 15:45:01 +05:30
baalajimaestro b90725d35b
Add an unban handler, helps unban mistakely auto-banned users
Signed-off-by: baalajimaestro <me@baalajimaestro.me>
2022-04-11 15:24:22 +05:30
baalajimaestro 11cbdcaced
Decouple the commands into independent handlers
Signed-off-by: baalajimaestro <me@baalajimaestro.me>
2022-04-11 15:08:42 +05:30
baalajimaestro 28ed91a0b6
Run via LXC container
Signed-off-by: baalajimaestro <me@baalajimaestro.me>
2022-04-11 13:23:43 +05:30
baalajimaestro 44789e29bf
Add a gitlab-ci.yml to build and push the image
Signed-off-by: baalajimaestro <me@baalajimaestro.me>
2022-04-11 12:53:42 +05:30
baalajimaestro 5efcf196f5
Silence all logs
Signed-off-by: baalajimaestro <me@baalajimaestro.me>
2022-04-11 12:49:45 +05:30
baalajimaestro 0bd5a5eb40
Improve Dockerfile
Signed-off-by: baalajimaestro <me@baalajimaestro.me>
2022-04-11 12:44:51 +05:30
baalajimaestro c5f4b66d25
Add a dockerfile and statically link everything
Signed-off-by: baalajimaestro <me@baalajimaestro.me>
2022-04-11 12:27:15 +05:30
baalajimaestro fbda01b355
Add a nice README
Signed-off-by: baalajimaestro <me@baalajimaestro.me>
2022-04-11 11:52:47 +05:30
baalajimaestro 278a256d64
Add some comments
Signed-off-by: baalajimaestro <me@baalajimaestro.me>
2022-04-11 11:45:19 +05:30
baalajimaestro a8bde2f198
License under AGPL
Signed-off-by: baalajimaestro <me@baalajimaestro.me>
2022-04-11 11:36:32 +05:30
baalajimaestro eb7f3b76c6
Beautify the message sent
Signed-off-by: baalajimaestro <me@baalajimaestro.me>
2022-04-11 11:30:18 +05:30
baalajimaestro e8efd87f71
Modify the functions to reflect the change in schema
Signed-off-by: baalajimaestro <me@baalajimaestro.me>
2022-04-11 09:50:07 +05:30
baalajimaestro 2dea576b58
Add a handler to cleanup old data
Also realign functions

Signed-off-by: baalajimaestro <me@baalajimaestro.me>
2022-04-11 09:44:57 +05:30
baalajimaestro a87f37f689
Use Env variables for database
This will enable us to use postgres/sqlite without any code changes

Signed-off-by: baalajimaestro <me@baalajimaestro.me>
2022-04-11 09:36:04 +05:30
baalajimaestro 869820bc19
Add support for albums
This was hard

Signed-off-by: baalajimaestro <me@baalajimaestro.me>
2022-04-11 08:26:59 +05:30
baalajimaestro b27f910362
Lock admin actions behind a env variable
ADMIN_ID is comma-separated values of the user-ids of admins who will have access to /ban

Signed-off-by: baalajimaestro <me@baalajimaestro.me>
2022-04-10 23:30:15 +05:30
baalajimaestro 5bf33a49ea
Introduce Rate-Limiting
Ratelimits a user for 30mins if they send more than 20 requests in a minute, also a schema change

Signed-off-by: baalajimaestro <me@baalajimaestro.me>
2022-04-10 23:24:48 +05:30
baalajimaestro 04f6bc054b
Drop stray file
Signed-off-by: baalajimaestro <me@baalajimaestro.me>
2022-04-09 23:20:55 +05:30
baalajimaestro ba91151766
Add a check for non-existent hash
Signed-off-by: baalajimaestro <me@baalajimaestro.me>
2022-04-09 23:18:48 +05:30
baalajimaestro 9c41348338
Implement banning unwanted users
People might use this bot on very gore/spam this repeatedly, we can block off them

Signed-off-by: baalajimaestro <me@baalajimaestro.me>
2022-04-09 23:15:02 +05:30
baalajimaestro d1bbc59e27
Handle stickers as well
Also move the deeplinks to elif

Signed-off-by: baalajimaestro <me@baalajimaestro.me>
2022-04-09 22:50:21 +05:30
baalajimaestro 5dc6903291
Handle deeplinks and respond from database
Signed-off-by: baalajimaestro <me@baalajimaestro.me>
2022-04-09 22:47:07 +05:30
baalajimaestro 5be6fb18ba
Use elif blocks instead of falling through each if
It cannot be a video and photo at the same time

Signed-off-by: baalajimaestro <me@baalajimaestro.me>
2022-04-09 22:26:19 +05:30
baalajimaestro 6c0db09773
Move the censoring logic to else clause
We dont ideally need this check when there is just plaintext

Signed-off-by: baalajimaestro <me@baalajimaestro.me>
2022-04-09 22:25:11 +05:30
baalajimaestro 2f859b5735
Perform a nice cleanup of the mess
Signed-off-by: baalajimaestro <me@baalajimaestro.me>
2022-04-09 22:10:27 +05:30