Releases: devvsima/dating-bot
🏭 Improving the old
🇺🇸 English
- Added /channel command that returns the link to the bot’s configured channel — perfect for promoting the bot’s personal channel.
- Profiles can now be created without photos.
- Added the ability to skip the profile description — no more “.” placeholders in bios.
- Likes system improved: if a user has blocked the bot, their profile will automatically be deactivated when someone tries to like them.
- Search radius is now adaptive to age — younger users get a narrower range, older users get a wider one. Examples:
20 years → ±3 (17–23)
30 years → ±5 (25–35)
50 years → ±8 (42–58) - Complaints system redesigned: now stored in a separate table with multiple statuses, and moderator messages include more details.
- Reworked geolocation and distance logic:
- If a user didn’t send their location — others see only the city name and a location icon.
- If both users shared their location — they’ll see the distance between each other.
- Responses to likes updated — no more random “match” notifications.
- Fixed localization issues that occasionally caused missing translations.
- Fixed a bug where a new profile could appear without a photo after creation.
📌 Full changelog: Compare v1.3...v1.4
📸 More photos
Profile Improvements 🔧 Latest
🇺🇸 English
✨ New Features:
Added a confirmation message after profile creation. Now users are redirected to the main menu instead of the profile menu.
Profile photos moved to a separate table profile_media, designed to support both photos and videos, preparing for multiple media per profile.
Now each profile can have up to 3 photos!
The /cancel command is almost completely removed; its function is now handled by /start.
Added type annotations throughout the code for better clarity and maintainability.
Added a new logging level for broadcasts; profiles are disabled if users block the bot during mailing.
🛠️ Improvements & Fixes:
Improved codebase structure and consistency with type hints.
Broadcast system enhanced with better error handling when users block the bot.
📌 Full сhangelog: : v1.2.2...v1.3
🇷🇺 Русский
✨ Новые функции:
Добавлен текст после создания профиля. Теперь после создания профиля пользователя перекидывает в главное меню, а не в меню профиля.
Фотографии профиля перенесены в отдельную таблицу profile_media, которая рассчитана на хранение фото и видео, чтобы в будущем добавить несколько фотографий в профиль.
Теперь у профиля может быть до 3 фотографий!
Практически убрана команда /cancel, её функции теперь выполняет команда /start.
По всему коду добавлены аннотации типов для улучшения читаемости и поддержки.
Добавлен новый уровень логирования для рассылок; если пользователь блокирует бота во время рассылки, профиль автоматически отключается.
🛠️ Улучшения и исправления:
Улучшена структура кода и внедрены аннотации типов.
Рассылки стали более стабильными с учётом обработки ошибок при блокировке бота.
📌 Полный список изменений: v1.2.2...v1.3
Profile Improvements 🔧
🇺🇸 English
✨ New Features:
-
Users who share their location now display the distance in kilometers instead of just the 📍 emoji.
-
Users can now send a message to a profile directly from the search view.
-
New bot logo and fully redesigned README file.
-
Keyboards added for:
- Editing photo
- Editing description
- Inviting friends
🛠️ Improvements & Fixes:
- Refactored project structure for better readability and modularity.
- Referral system reworked — now includes traffic sources and statistics per source.
- Notifications about new users now work even if they didn’t use a referral link.
- Replaced
is_bannedflag with status system — one of the statuses now indicates blocking. - Templates in ORM moved from Python code to database level.
📌 Full [Changelog](v1.2.1...v1.2.2)
🇷🇺 Русский
✨ Новые функции:
-
При поиске анкет теперь, если пользователь отправил свою геолокацию, отображается расстояние до него в километрах, а не просто 📍.
-
Добавлена возможность отправить сообщение анкете прямо во время просмотра.
-
Обновлён логотип бота и полностью переработан файл README.
-
Добавлены клавиатуры при:
- Редактировании фотографии
- Редактировании описания
- Приглашении друзей
🛠️ Улучшения и исправления:
- Улучшена структура проекта — код стал чище и организованнее.
- Переделана реферальная система — теперь есть понятие источников и отображается статистика по каждому источнику.
- Исправлен баг, при котором не приходило уведомление о новом пользователе, если он переходил без реферальной ссылки.
- Вместо параметра
is_bannedтеперь используется система статусов, один из которых отвечает за блокировку. - Шаблоны ORM перенесены с уровня кода на уровень базы данных.
📌 Полный список изменений: [Changelog](v1.2.1...v1.2.2)**
A little bit of everything
🇺🇸 English
🛠️ Bug Fixes:
- Fixed a bug that prevented some users from appearing in the statistics chart.
- Fixed repeated like notifications: users can no longer spam someone with likes.
- Localization issues corrected (minor translation errors fixed).
- Improved form error handling: profile creation and editing are now handled separately.
- Replaced
user_idwithidin the profile table and refactored DB queries into a dedicated query template class. - Blocking a user now also deletes all their likes — previously, their profile could still appear in someone's archive.
- Removed redundant keyboards in the complaint system and simplified the interface.
✨ New Features:
- Updated user chart.
- Reworked the "like archive": added a new emoji (📭) and a counter showing how many likes the user received.
- Like notifications are now more informative and sent less frequently to avoid being annoying.
- Updated the
READMEfile: now includes localization details and installation viauv. - Users can now report matches from the match archive.
- Added complaint types.
- Added a "go back" button when viewing your own profile (previously, only the search button was available).
📌 Full Changelog: Changelog
🇷🇺 Русский
🛠️ Исправленные баги:
- Исправлен баг, из-за которого некоторые пользователи не отображались в графике статистики.
- Исправлена проблема с повторным лайком: ранее один и тот же человек мог спамить уведомлениями, теперь этого не происходит.
- Улучшена локализация — исправлены мелкие ошибки перевода.
- Исправлены ошибки формы: теперь проверка данных осуществляется отдельно, а создание и редактирование анкеты разделены.
- В таблице профилей
user_idзаменен наid, а запросы к базе данных вынесены в отдельный шаблон-класс. - Удаление пользователя теперь также удаляет все его лайки — раньше его анкета могла остаться в "архиве" у других.
- Удалены лишние клавиатуры в жалобах, интерфейс упрощён.
✨ Новые функции:
- Обновлен график пользователей.
- "Архив" лайков получил новый эмодзи (📭) и отображает количество полученных лайков.
- Уведомления о лайках стали информативнее и приходят реже, чтобы не раздражать пользователя.
- Обновлен
READMEфайл: теперь он описывает локализацию и установку с помощьюuv. - В "архиве совпадений" теперь можно оставлять жалобы.
- Добавлены типы жалоб.
- Добавлена возможность вернуться назад из просмотра своего профиля (раньше была только кнопка поиска).
📌 Полный список изменений: [Changelog](v1.2.0...v1.2.1)
🔎 Enhanced search, new stats & improved flexibility! 🚀
Изменения в обновлении:
- 🛠 Добавлены новые
middleware,routerи обработчик для сообщений без команд. - 📌 Переименованы
routersиmiddlewaresдля удобства. - 🔄 Убрано состояние ожидания при отключении анкеты — теперь можно использовать часть функций без ограничений.
- 📊 Обновлены графики статистики, добавлен новый график для профилей.
- 📍 Добавлена возможность отправлять текущую геолокацию.
- ⚙ Переработаны пути в конфигурации.
- 🔎 Расширен поиск анкет:
- Разбит на блоки по 50 км, каждый из которых перемешивается.
- Поиск расширяется до 2000 км, добавляя и перемешивая новые блоки.
What's new:
- 🛠 Added new
middleware,router, and a handler for messages without commands. - 📌 Renamed
routersandmiddlewaresfor better clarity. - 🔄 Removed the waiting state when disabling a profile — users can now access certain features freely.
- 📊 Updated statistics graphs, added a new profile chart.
- 📍 Added the ability to send your current location.
- ⚙ Refactored configuration paths.
- 🔎 Expanded search algorithm:
- Divides results into 50 km blocks, shuffling each one.
- Extends up to 2000 km, progressively adding and shuffling new blocks.
Full Changelog: v1.1.4...v1.2.0
🌍 Multi-language Support, 🔍 Enhanced Search, and ⚙️ Improved Admin Tools
- Added 3 new languages: Polish, French, and Spanish. (If you notice any inaccuracies in the translations, feel free to let me know – I’ll fix them.)
- Expanded search radius: Previously, only profiles from the user's city were shown. Now, the search is performed within a 200 km radius, showing profiles from the nearest to the farthest.
- Profile shuffling removed from search due to the expanded search radius. We need to come up with an alternative method to avoid duplicate profiles in the order.
- Admins can now retrieve the latest log file using the /logs command.
- Improved bot response speed by setting state filters first.
- Fixed bug with sending notifications in the wrong language (not the user's preferred language).
- Fixed bug in search functionality, which may have prevented users from using the search properly.
- Minor fixes to localization.
- Partially removed localization for the admin panel.
- Separated message texts for users and admins: Now, message texts are stored in two different classes for better management.
Full Changelog: v1.1.3...v1.1.4
📝 Bug fixes and small improvements
Updates & Improvements:
- Updated Readme
- Code formatting and improvements
- Added message effects (Telegram's new feature)
- Admin panel upgraded: new statistics section and more info added
- Added profile filling tips
- Improved logging
Bug Fixes:
- Fixed the issue in the referral system
- Fixed the empty photo bug
- (Other fixes were not recorded)
Full Changelog: v1.1.2...v1.1.3
💫 Update to SqlALchemy
Changed project ORM to Alchemy for better performance and easier migration.
Also changed models, especially Likers which is now ->Matches
Full Changelog: v1.1.1...v1.1.2
v1.1.1
[en]
The following updates have been made to the repository:
- Added Base62 support for generating referral links without using explicit IDs.
- Edited middleware, changing the registration process.
- Implemented a keyboard generator, with minor changes to existing keyboards.
- Integrated Redis to optimize bot performance.
- Fixed a URL error and added the ability to skip updates.
- Resolved path and import issues.
- Improved reporting and statistics functions.
- Added the option for deactivating profiles instead of deleting them entirely.
- Started development on the sponsorship system in the bot (currently inactive).
- Added detailed function descriptions and type annotations throughout the code to improve readability and maintainability.
And, of course, many bug fixes! :)
[ru]
- Добавлена поддержка Base62 для генерации реферальных ссылок без использования явного ID.
- Отредактирован middleware, изменен процесс регистрации.
- Реализован генератор клавиатуры, внесены небольшие изменения в существующие клавиатуры.
- Интегрирован Redis для оптимизации работы бота.
- Исправлена ошибка в URL, добавлена возможность пропуска обновлений.
- Устранены проблемы с путями и импортами.
- Улучшены функции отчета и статистики.
- Добавлена возможность деактивации анкеты вместо её полного удаления.
- Начата разработка системы спонсорства в боте (пока неактивна).
- Добавлены подробные описания функций и аннотации типов по всему коду для улучшения читаемости и поддержки проекта.
И ООчень много исправлений :)
Full Changelog: v1.1.0...v1.1.1
Migrate to Aiogram3
Bot migrated to Aiogram3