Coder Social home page Coder Social logo

nukesor / sticker-finder Goto Github PK

View Code? Open in Web Editor NEW
99.0 11.0 22.0 46.17 MB

:zap: A telegram bot for searching all the stickers (just like @gif).

License: GNU General Public License v3.0

Python 99.46% Shell 0.07% Mako 0.17% Just 0.30%
sticker sticker-pack telegram telegram-bot inline-queries dankmemes text-search tagging emoji

sticker-finder's Introduction

Sticker Finder

GitHub release Test status MIT Licence

⚠️ ⚠️ ⚠️ State of the project ⚠️ ⚠️ ⚠️

The project is no longer actively maintained! I try to bump dependencies on a regular basis, but I won't review or accept any new pull requests!

If you started a successful fork of this repository that has been maintained over a longer period of time, feel free to contact me. I'll then point to your fork :).

⚠️ ⚠️ ⚠️ ⚠️ ⚠️ ⚠️ ⚠️ ⚠️ ⚠️ ⚠️ ⚠️ ⚠️ ⚠️

Introduction

StickerFinder is a telegram bot for searching stickers (just like @gif).

You can search through community tags, on-image text, emojis and the sticker-set's title. There are already more than 4100 searchable sticker sets with over 230k stickers. In case the bot is missing some, you can easily add your own precious sets.

StickerFinder's search is super fast and features customized tagging as well as fuzzy searching!

Feel free to host your own bot. There is an up-to-date postgreSQL database dump in the repository.

Features

  • Inline query search by tags, text, emoji, sticker set name and title.
  • A dedicated search for sticker packs. Just add pack or set to your search e.g. @stfi_bot kermit set.
  • Fuzzy searching to match similar words or typos.
  • Individual search results (If you use a sticker often you will see it on top.)
  • Tagging of single stickers or whole sets.
  • NSFW and Furry filter. Use nsfw or fur tag to explicitly search for this stuff.
  • Sticker set addition in direct conversations or when the bot is added to groups.
  • Random tagging of stickers if you're bored.
  • /report [reason] Report a sticker set for some reason.
  • A minimalistic mode for groups that don't want user interaction (I already host one with the name @stfil_bot).

Available commands

/help       Display help
/tag [tags] Tag the last sticker posted in this chat or the sticker you replied to
/replace [tags] Replace the tags of the last sticker posted in this chat or the sticker you replied to
/cancel     Cancel all current tag actions
/forget_set Forget all usages of all stickers of a specific sticker pack. The sticker pack is determined by the latest sticker in this chat.

Installation and starting

This bot is developed for Linux.

Windows isn't tested, but it shouldn't be too hard to make it compatible. Feel free to create a PR.

Dependencies:

  • poetry to manage and install dependencies.
  • Just for convience.
  • Stickerfinder uses postgres. Make sure the user has write/read rights.
  1. Clone the repository: git clone [email protected]:nukesor/stickerfinder && cd stickerfinder
  2. Execute just setup to install all dependencies.
  3. Either start the stickerfinder once with just run or copy the misc/stickerfinder.toml manually to ~/.config/stickerfinder.toml. Adjust all necessary values.
  4. Run just initdb to initialize the database (or recreate it, if necessary) and set the migration stamp to the newest alembic head.
  5. Import the database pg_restore -O -j 4 -F c -d your_db_name name_of_the_dump
  6. Start the bot by running just run

Botfather commands

help - Display help
tag - Tag the last sticker posted in this chat or the sticker you replied to
replace - Replace the tags of the last sticker posted in this chat or the sticker you replied to
report - Report something regarding the sticker set of the last sticker in the chat.
cancel - Cancel all current actions.
forget_set - Forget all usages of a sticker pack.

Admin commands

This is just for people hosting a bot and those with admin permissions:

/ban Ban the last sticker posted in this chat.
/unban Unban the last sticker posted in this chat.
/make_admin [name|id] Make another user admin
/ban_user [name|id] Ban a user
/unban_user [name|id] Unban a user
/tasks Start to process tasks in a maintenance chat

/toggle_flag [maintenance|newsfeed] Flag a chat as a maintenance or newsfeed chat. Newsfeed chats get the first sticker of every new set that is added, while all tasks are send to maintenance chats.

/broadcast [message] Send the message after this command to all users.
/add_set [names...] Add multiple sets at once by `set_name` separated by newline
/delete_set [name] Completely delete a set
/show_sticker [file_id] Command sends the corresponding sticker for the given Id
/show_id Show file id of sticker you replied to
/authorize [user_id] Allow this user to access a secured instance.

sticker-finder's People

Contributors

dependabot[bot] avatar nukesor avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.