JewishPulse is a smart Telegram bot that connects users to daily Jewish life — from 📜 Daf Yomi to 🕯 Shabbat times and 🌍 location-based Halachic data.
✡️✨ Time. Holiness. Connection.
- 📍 Inline location-based Shabbat times & Daf Yomi
- 🕯 Real-time candle lighting info
- 📚 Daily Daf Yomi updates via Hebcal
- ⚙️ Built using
MadelineProto
& PHP Coroutine Engine - 🌐 Multilingual and Geonames-integrated search
git clone https://github.com/WizardLoop/JewishPulse.git
cd JewishPulse
Install PHP dependencies using Docker:
docker compose run --rm composer install
docker compose up --pull always -d
The bot will start running in the background.
docker compose logs
Live log output of your bot.
Command | Description |
---|---|
docker compose build |
Build the Docker image |
docker compose up --pull always -d |
Start the bot in the background |
docker compose down |
Stop and remove the bot container |
docker compose restart |
Restart the bot quickly |
docker compose logs |
View real-time bot logs |
docker compose exec bot composer dump-autoload |
Reload Composer autoload |
docker-compose ps |
Show the status of Docker containers |
Copy the .env.example
to .env
and customize as needed:
cp .env.example .env
Fill in values like:
API_ID
API_HASH
BOT_TOKEN
ADMIN_ID
GEONAMES_USERNAME
Type @YourBotUsername your_city_name
in any chat to:
- Set Shabbat timezones
This project uses PHPUnit for unit testing and PHP_CodeSniffer / PHP-CS-Fixer for code style enforcement.
To run all unit tests:
docker compose exec bot vendor/bin/phpunit
Tests live in the /tests
directory and follow PSR standards.
Run PHP_CodeSniffer to check your code:
docker compose exec bot vendor/bin/phpcs
Auto-fix code style issues using PHP-CS-Fixer:
docker compose exec bot vendor/bin/php-cs-fixer fix
- 📡 Geolocation-based Halachic times (via GeoNames API)
- 🔄 Persistent storage of user location
- 🕍 Personalized Zmanim via Hebcal API
- 🧪 Fully asynchronous using
Amp
andMadelineProto
- ⚙️ GitHub Actions CI with: PHPUnit, PHPCS, CS-Fixer, locale checks, bot output simulation
Pull requests are welcome! To contribute:
- Fork the repo
- Create a feature branch:
git checkout -b feature/my-feature
- Commit your changes:
git commit -m 'Add my feature'
- Push to the branch:
git push origin feature/my-feature
- Open a PR 🙌
This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0).
See LICENSE
for details.
- Hebcal.com for Jewish calendar data
- GeoNames.org for geographical location support
- MadelineProto for powerful Telegram API interface
📫 Questions, suggestions, feedback? Open an issue or contact @WizardLoop.