Fenneco
Version, currently master branch1 version
- master branchlatestJun 18, 2020
github.com/watzon/fenneco
No description declared in shard.yml.
Installation
# Add this to your shard.yml
dependencies:
Fenneco:
github: watzon/fenneco
branch: mastermaster is a branch, not a release, so this tracks it rather than pinning a version.
Then run:
shards installshard.yml
- Crystal
0.35.0- License
- MIT
- Author
- your-name-here <your-email-here>
- Target
Fennecofrom src/Fenneco.cr
Dependencies
Runtime Dependencies
- pg~> 0.21.0github: will/crystal-pg
- icr*github: crystal-community/icr, branch: master
- crecto*github: watzon/crecto, branch: master
- dotenv~> 0.7.0github: gdotdesign/cr-dotenv
- google*github: watzon/google, branch: master
- proton*github: protoncr/proton, branch: master
- micrate*github: juanedi/micrate, branch: master
- spamwatch*github: spamwatch/spamwatch-cr, branch: master
- humanize_time*github: mamantoha/humanize_time
README
Fenneco - Telegram Userbot
Fenneco is a Telegram userbot which uses proton, a very much WIP Telegram client API library built on top of tdlib.
Fenneco is still very much in development and will be undergoing many changes, so keep posted.
Dependencies
Fenneco makes use of proton for connecting with the telegram client API. Proton requires libtdjson 1.6.4 (the most recent version at the time of writing). It's advised to build it yourself. Proton is written in Crystal as well (in case that wasn't obvious), as is Fenneco, so you will need Crystal installed in order to build.
Proton also depends on libmagic for filetype detection. You should be able to find an installable version on most systems. Make sure you have the -dev or -devel version.
You will also need a postgresql database.
Installation
-
Fork or clone this code. Alternatively you can also download a zipped version of it here.
-
Inside of the
fennecodirectory, runshards installto install dependencies. -
Once dependencies are installed you'll need to copy
.env.exampleto.envand modify the values inside. The most important things areAPI_ID,API_HASH, andDB_URI. You can find your api id and api hash at https://my.telegram.org. TheDB_URIwill need to be a URI for your postgres database using the format postgres://username:password@host/database. Also potentially important isTD_DATABASE_DIRECTORYwhich is the path at which the tdlib database will be stored. -
Now it's time to migrate the database. You can do that using micrate. Just run
./micrate upin the root of the project. If your database credentials were entered correctly into your.envfile you should see success messages. -
Finally it's time to run fenneco. Use the command
crystal run ./src/fenneco.cr. If everything was done correctly you should see some connection stats (output by tdlib) and it should ask for your phone number. You should only need to do this once (unless you change theTD_DATABASE_DIRECTORYvalue).
That should be about it. Go to Telegram, enter .stats, press enter, and you should see some statistics about your bot. If you want to enable multithreading (which is advised) run crystal run with the -Dpreview_mt flag.
Extras
There are some extra values that can be provided inside of your .env file, but aren't required. Here they are:
LOG_CHAT_ID- This is used for logging and is still in the works. Provide a chat in which you have permission to send messages and all logs will be output there.LOG_CHAT_INVITE_LINK- If you want your log chat to be joinable by others you can include the invite link here. It will show up when you use the.statscommand.SPAMWATCH_TOKEN- API key for the SpamWatch APIDOGBIN_API_KEY- API key for https://del.dog. This allows pastes to be attached to your account.GOOGLE_AUTH_FILE- A JSON file containing credentials for Google APIs. For now all that is needed is an account that has access to the translation API.
Contributing
- Fork it (https://github.com/watzon/fenneco/fork)
- Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin my-new-feature) - Create a new Pull Request
Contributors
- watzon - creator and maintainer
Documentation
Built from the current release. The first visit to a release nobody has asked for starts its build.
Links
This branch
- Branch
master- Seen
- Jun 18, 2020
- Crystal
0.35.0- Indexed
- yes
Dependents
No indexed shard depends on this one yet.
Repository
github.com/watzon/fenneco
Metadata
- Created
- Aug 12, 2026
- Updated
- Sep 3, 2026
- Synced
- Sep 3, 2026
- Versions
- 1