integration_stickers adds a /stickers smart picker integration for Nextcloud Talk.
The picker reads local sticker files from stickerpacks/ and inserts the selected sticker into chat as a URL served by this app.
Run this in the app source directory before deploying:
npm install
npm run build
custom_apps directory and name it integration_stickers.sudo -u www-data php /var/www/nextcloud/occ app:enable integration_stickers
/stickers.Common custom apps path:
/var/www/nextcloud/custom_apps/integration_stickersIn AIO, apps are loaded from /var/www/html/custom_apps inside the nextcloud-aio-nextcloud container.
docker cp ./integration_stickers nextcloud-aio-nextcloud:/var/www/html/custom_apps/integration_stickers
docker exec --user www-data nextcloud-aio-nextcloud php occ app:disable integration_stickers
docker restart nextcloud-aio-nextcloud
/stickers.If your AIO container name differs, replace nextcloud-aio-nextcloud with your actual container name from docker ps.
/stickers picker interface in Talkstickerpacks/ directoriesjpg, jpeg, png, and gifappinfo/ App metadata and routeslib/ PHP backend (search provider, reference provider, API controller, sticker service)src/ Frontend picker and reference widgetstickerpacks/ Sticker packs used by the pickerstickers) and a search provider (stickers-search-files).Using the Custom CSS app from the NextCloud AppStore lets you tweak the appearance so the filename isn’t obvious. Install the app and then in Administration Settings, under Theming, paste this into the Custom CSS app:
/* Talk only, sticker links only */
#content.app-spreed .markdown-message a[href*="/apps/integration_stickers/s/"],
#content.app-spreed .markdown-message a[href*="giphy.com/gifs/"],
#content.app-spreed .markdown-message a[href*="/apps/integration_stickers/sticker/"] {
display: none !important;
}
composer install
composer run lint
npm install
npm run build
Build output is generated by Vite in Nextcloud app format.
stickerpacks/ inside the app directory.Sticker packs must be placed inside this app folder:
custom_apps/integration_stickers/stickerpacks/<pack_name>/Supported file extensions:
.jpg.jpeg.png.gifCopy your files into:
/var/www/nextcloud/custom_apps/integration_stickers/stickerpacks/<pack_name>/Ensure permissions are readable by the web server user (www-data on many systems).
Copy your pack into the Nextcloud container:
docker cp ./stickerpacks/<pack_name>/. nextcloud-aio-nextcloud:/var/www/html/custom_apps/integration_stickers/stickerpacks/<pack_name>/
docker exec nextcloud-aio-nextcloud sh -c "chown -R www-data:www-data /var/www/html/custom_apps/integration_stickers/stickerpacks/<pack_name>"
Try these in order:
For AIO:
docker restart nextcloud-aio-nextcloud