Maid-chan feat Facebook Messenger bot to accompany personal daily life
Switch branches/tags
Nothing to show
Clone or download

README.md

Maid-chan feat Facebook Messenger

CircleCI readthedocs

Note: As of October 5, 2018, Maid-chan is now migrated to Python 3.6+.

Maid-chan name is inspired from Sakurasou's Artificial Intelligence.

If you have any other ideas, I am accepting contributions :) For developers, you could access the documentation pages for developers here. For others who are interested in using Maid-chan features, please ask me directly and head to Maid-chan Facebook Page.

Maid-chan is featured in:

Available Features

  • Upload image for random image filtering via Primitive (Requires maidchan_primitive running in the background and ImageMagick convert feature for generating GIF)

Combined result

  • Simple chat (English or Bahasa Indonesia) via ChatterBot feat langdetect. The accuracy is still bad, though

  • Daily good morning and good night messages, with "offerings"! (Requires maidchan_scheduler running in the background)

  • Daily Japanese Kanji & Vocabulary (Requires maidchan_scheduler running in the background)

  • RSS Feed Notifier for Anime, Manga, etc which is similar to my previous RSS Twilio bot (Requires maidchan_scheduler running in the background)

  • [Experimental] Tokyo train status feat Yahoo Japan (Requires maidchan_scheduler running in the background)

All time-related features are currently handled in UTC+9 (Japan Time).

Available Commands

All users

  • help: You will get the list of all available commands from Maid-chan
  • subscribe offerings: Maid-chan will start giving you a good morning message and a good night messages
  • unsubscribe offerings: Maid-chan will stop spamming you with those messages, but Maid-chan will be sad :'(
  • update offerings: Maid-chan will ask you about your usual waking up and sleeping time, because Maid-chan doesn't want to disturb your sleep . . ., usually :p (some surprises inside!)

  • subscribe japanese: Maid-chan will start sending you random daily Kanji & Vocabulary
  • unsubscribe japanese: Maid-chan will stop sending you random daily Kanji & Vocabulary
  • update japanese: Maid-chan will ask about your level preference for Kanji (N1 to N4, old test format)

  • update name: By default, Maid-chan will call you with onii-chan

  • subscribe rss: You could add an RSS feed with its pattern and let Maid-chan notify you when there is an update
  • unsubscribe rss: You could remove one of your RSS feed subscription each time you call this command

  • [Experimental] subscribe train: Maid-chan will give you updates related to Tokyo train status (currently, it only supports admin's train line :p)
  • [Experimental] unsubscribe train: Maid-chan will stop sending you information related to Tokyo train status
  • show profile: Do you want to know what Maid-chan knows about you? Then, you could use this command!

How to Run

  1. For initial configuration, you need to create maidchan/config.py based on maidchan/config.py.example and fill those values based on your own configuration.

  2. Maid-chan is using Redis as the database. Redis can be downloaded via https://redis.io/download. Run Redis as a background process in port 6379 (default port).

  3. It is recommended to use venv (e.g.: python3 -m venv venv then source venv/bin/activate). You need to install all dependencies via pip install -r requirements.txt.

  4. Run python setup.py install to build Maid-chan. Finally, you can execute maidchan in the background process to run this bot.

Priority Ideas

Existing Feature Improvement Ideas

  • (Admin only) Broadcast message to all users which have talked to Maid-chan at least once
  • Modifiable daily Japanese Kanji & Vocabulary time
  • Automatic offerings update from upstream

Future Ideas

  • Japanese language quiz
  • Image recognition, e.g.: waifu recognizer - https://github.com/nagadomi/lbpcascade_animeface or self-created
  • Natural Language processing for conversing daily conversation (Naturally we can improve it with IBM Watson or Google Cloud Speech, but the model "probably" differs from Maid-chan requirement)
  • Mini games
  • Location-aware features: Recommendation, weather, etc
  • IoT with home electronics
  • etc

Reference

License

This project itself is licensed under MIT License. All images are owned by their respective creators.

Last Updated: October 5, 2018