Skip to content

Lomasterrrr/sinaibot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

128 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

КОМПИЛЯЦИЯ

	Бот написан на Си с библиотекой telebot которая статически лежит
	в папке telebot/; однако для ее компиляции требуются библиотеки
	(1) json-c и (2) curl. Для работы Makefile еще нужен (3) pkgconf.

	Для компиляции команды (без установки библиотек) суть:

	git clone https://github.com/Lomasterrrr/sinaibot.git
	cd sinaibot
	make -j

	После компиляции бот будет лежать в этой же папке.

СТРУКТУРА

	Структура проекта есть следующая:

	1. sinaibot.c		сам код бота
	2. data/		данные бота
		2.1. admin		username администратора
					указывать без (@).
		2.2. token		токен бота
		2.3. hello.mp4		то, что отправляет бот на заход
					нового участника в группу
		2.4. senators		id всех почетных участников
		2.5. group		id группы где бот может работать
		2.6. nz			новый завет в .txt
		2.7. rus		экстремистские материалы РФ (список)	
		2.8. penis		статистика игры пенисов
		2.9. femboy		информация о femboy дня
	3. cvector.h		интерфейс для векторов
	4. telebot/		библиотека для бота

РАБОТА БОТА

	Из всех действий на которые бот тг может реагировать, этот реагирует
	на вот эти:

		1. заход нового участника
		2. сообщение
		3. выход участника

	СООБЩЕНИЕ
	
		1. Если бот находит в сообщении ключевое слово systemd, redhat,
		   и другие (см. sinaibot.c systemd_virus()), - то присылает
		   предупреждение об угрозе в ответ на это сообщение.

		2. Проверяет не нужно ли обновить фембоя дня, если нужно, делает это.

		3. Если бот находит в сообщение команду, то делает соответствующие
		   этой команде действия: 

		КОМАНДЫ

			Все команды следующие,

				1. /ae
				2. /vote
					2.1.	/YES<id>
					2.2.	/NO<id>
					2.3.	/STOP<id>
				3. /votestopall
				4. /femboy
				5. /senlist
				6. /senping
				7. /stats
				8. /dep
				9. /amen
				10. /amenl
				11. /extreme
				12. /autism
				13. /dick, /penis
				14. /dickstat
				15. /dicktop
				16. /dickopt
				17. /dickreset
				18. /dicksend
				19. /vaginatop
				20. /dicksum
				21. /femboyday
				22. /hug
				23. /tickle
				24. /pat
				25. /loveact

			КОМАНДА AE

				Команда не принимает аргументов. Выводит несколько
				сообщений с содержанием AE.

			КОМАНДА FEMBOY

				Команда не принимает аргументов. Выводит несколько
				предложений на тайном языке фембоев.

			КОМАНДА VOTE

				Начинает голосование.

				/vote <сообщение> <длительность> <тип> <флаг>

				<сообщение>: какая то информация о голосовании;
				<длительность>:  длительность голосования в секундах;
				<тип>: есть два типа, это A или B;

				<флаг>: если 1, то в этом голосовании голосовать могут
					только почетные участники, (т.е. data/senators
					или /senlist). Если 0, то голосовать может кто
					угодно.

				Если тип голосования это A, то оно оканчивается:

					1. если выйдет время голосования;
					2. если администратор напишет определенную команду.

				Если тип голосования это B, то оно оканчивается:

					1. если выйдет время голосования;
					2. если администратор напишет определенную команду;
					3. если был хотя бы один голос против.

				Примеры команд /vote:
					/vote Избираем меня все вместе! 1000 A 0
					/vote Голосование 3 секунды аее! 3 B 1

				Любое начатое голосование создает свои временные команды,
				они таковы:

				1. /YES<id голосования>		проголосовать за
				2. /NO<id голосования>		проголосовать против
				3. /STOP<id голосования>	остановить голосование;
								доступно только для admin_user.

			КОМАНДА VOTESTOPALL

				Команда не принимает аргументов. Останавливает все
				запущенные голосования; доступна только admin_user.

			КОМАНДА SENLIST

				Команда не принимает аргументов. Выводит список
				почетных участников.

			КОМАНДА SENPING

				Команда не принимает аргументов. Совершает собрание
				всех почетных участников. Доступна только admin_user.

			КОМАНДА STATS

				Выводит некоторую статистику о всех сообщениях во всех
				группах в которых находится бот.

			КОМАНДА DEP

				Позволяет депнуть, и прокрутить автомат.

				/dep <прайс>

			КОМАНДА AMEN

				Выводит случайную строчку из нового завета. Вроде как
				синодальный перевод.

			КОМАНДА EXTREME

				Выводит случайный экстремистский материал РФ.
				Обновление документа от 23-59-18-07-2025.

			КОМАНДА AMENL

				Выводит указанную строчку из нового завета.

				/amenl <позиция>

				Формат позиции:
					<книга>.<глава>:<строчка>
					<книга>.<глава>:<от строчки>-<до строчки>

				Книги:	Мат. Мар. Лук. Иоан. Деян. Иак. 1Пет.
					2Пет. 1Иоан. 2Иоан. 3Иоан. Иуда. Рим.
					1Кор. 2Кор. Гал. Еф. Фил. Кол. 1Фес.
					2Фес. 1Тим. 2Тим. Тит. Филим. Евр. Отк.

				Примеры команда /amenl:
					/amenl Мат.1:1
					/amenl Отк.5:8
					/amenl Отк.5:8-9
					/amenl Иоан.1:4

			КОМАНДА AUTISM

				Выводит силу аутизма и проценты его наличия.

			КОМАНДА PENIS, DICK

				Если вызвана первый раз, то добавляет участника
				в игру пенисов. Иначе, совершает попытку в игру
				пенисов.

			КОМАНДА DICKSTAT

				Выводит статистику вызвавщего ее участника в
				игре пенисов.

			КОМАНДА DICKTOP

				Выводит таблицу лидеров игры пенисов.

			КОМАНДА DICKOPT

				/dickopt <максимальное значение> <шанс увеличения>
					<шанс спасения> <шанс экстра попытки>
					<задержка 1> <задержка 2> <задержка 3>
					<удача>

				Позволяет изменить параметры игры пенисов (настроить ее).
				Стандартные настройки: 32 50 50 50 300 600 900 0.

				NB: Задержка выбирается случайно между этими тремя.

			КОМАНДА DICKRESET

				Сбрасывает все задержки для игры пенисов.
				Т. е. устанавливает их в 0.

			КОМАНДА DICKSEND

				/dicksend <id получателя> <кол. см>

				Позволяет передать (отправить) свои см кому-то
				другому по его id.

			КОМАНДА VAGINATOP

				Выводит таблицу самых маленьких пенисов в игре
				пенисов.

			КОМАНДА DICKSUM

				Выводит общую сумму пенисов в игре пенисов.

			КОМАНДА FEMBOYDAY

				Выводит фембоя дня.

			КОМАНДА HUG

				/hug <имя>

				Выводит сообщение о том, что вызвавший команду
				обнимает <имя>.

				Идея и первая реализация Olly Chan.

			КОМАНДА TICKLE

				/tickle <имя>

				Выводит сообщение о том, что вызвавший команду
				щекочет <имя>.

				Идея и первая реализация Olly Chan.

			КОМАНДА PAT

				/pat <имя>

				Выводит сообщение о том, что вызвавший команду
				гладит <имя>.

				Идея и первая реализация Olly Chan.

			КОМАНДА LOVEACT

				/loveact <имя> <действие>

				Выводит любовное сообщение о том, что вызвавший
				команду совершает <действие> над <имя>.

	ЗАХОД НОВОГО УЧАСТНИКА

		1. Когда в группу заходит новый участник (в том числе сам бот),
		   бот присылает в ответ на этот заход файл data/hello.mp4.

	ВЫХОД УЧАСТНИКА

		1. Когда из группы выходит участник (в том числе сам бот),
		   бот уведомляет об этом сообщением в группу.

ЗАПУСК

	Запуск таков, (при таком запуске бот будет брать токен из фала
	data/token):

		./sinaibot

	Или, (при таком запуске бот будет использовать токен который вы
	передали при запуске):

		./sinaibot token

About

Telegram bot for cool group sinai

Resources

License

Stars

Watchers

Forks

Contributors