[{"data":1,"prerenderedAt":214},["ShallowReactive",2],{"slug-content-en-\u002Fprojects\u002Fdiscord-channel-emptier":3},{"kind":4,"item":5,"categories":51},"project",{"id":6,"title":7,"body":8,"dateEnd":35,"dateStart":35,"description":36,"extension":37,"featuredInCv":38,"link":39,"meta":40,"navigation":41,"path":42,"repo":43,"seo":44,"stem":45,"tags":46,"__hash__":50},"projects_en\u002Fprojects\u002Fdiscord-channel-emptier.md","discord-channel-emptier",{"type":9,"value":10,"toc":30},"minimark",[11,16,20],[12,13,15],"h2",{"id":14},"about-the-project","About the Project",[17,18,19],"p",{},"discord-channel-emptier is a Typescript-based Discord bot that makes it possible to empty entire Discord channels.",[17,21,22,23,26,27,29],{},"The bot provides a slash command that lets you completely empty a channel.",[24,25],"br",{},"\nThe tool works around the Discord API's rate limits.",[24,28],{},"\nIt's also possible to exclude individual messages, users, or even entire roles.\nThis is useful, for example, if a text channel only contains short-lived information, but messages from an administrator should remain untouched.",{"title":31,"searchDepth":32,"depth":32,"links":33},"",2,[34],{"id":14,"depth":32,"text":15},"2026-01","A Typescript-based Discord bot for emptying entire channels.","md",false,null,{},true,"\u002Fprojects\u002Fdiscord-channel-emptier","https:\u002F\u002Fgithub.com\u002FLinusTebbe\u002Fdiscord-channel-emptier",{"title":7,"description":36},"projects\u002Fdiscord-channel-emptier",[47,48,49],"typescript","deno","git","lmYQKj-ZqaOag0y96GOoHt6Ivh7754FnJLPoskQrQL4",[52,61,82,107,137,149,161,170],{"name":53,"items":54},"Databases",[55,58],{"slug":56,"name":57},"sql","SQL (MySQL, MariaDB)",{"slug":59,"name":60},"sqlite","SQLite",{"name":62,"items":63},"Frontend",[64,67,70,73,76,79],{"slug":65,"name":66},"html5","HTML5",{"slug":68,"name":69},"css3","CSS3",{"slug":71,"name":72},"tailwindcss","Tailwind CSS",{"slug":74,"name":75},"bootstrap","Bootstrap",{"slug":77,"name":78},"uikit","UIkit",{"slug":80,"name":81},"extjs","Ext JS",{"name":83,"items":84},"JavaScript Ecosystem",[85,88,90,93,96,99,102,105],{"slug":86,"name":87},"javascript","JavaScript",{"slug":47,"name":89},"TypeScript",{"slug":91,"name":92},"nodejs","Node.js",{"slug":94,"name":95},"vuejs","Vue.js",{"slug":97,"name":98},"nuxt","Nuxt.JS",{"slug":100,"name":101},"react","React",{"slug":103,"name":104},"next","Next.JS",{"slug":48,"name":106},"Deno",{"name":108,"items":109},"PHP Ecosystem",[110,113,116,119,122,125,128,131,134],{"slug":111,"name":112},"php","PHP",{"slug":114,"name":115},"laravel","Laravel",{"slug":117,"name":118},"symfony","Symfony",{"slug":120,"name":121},"laminas","Laminas",{"slug":123,"name":124},"mezzio","Mezzio",{"slug":126,"name":127},"zend","Zend Framework",{"slug":129,"name":130},"wordpress","WordPress",{"slug":132,"name":133},"shopware","Shopware",{"slug":135,"name":136},"spryker","Spryker",{"name":138,"items":139},"Mobile",[140,143,146],{"slug":141,"name":142},"dart","Dart",{"slug":144,"name":145},"flutter","Flutter",{"slug":147,"name":148},"android","Android",{"name":150,"items":151},"Other Languages",[152,155,158],{"slug":153,"name":154},"java","Java",{"slug":156,"name":157},"python","Python",{"slug":159,"name":160},"go","Go",{"name":162,"items":163},"Operating Systems",[164,167],{"slug":165,"name":166},"linux","Linux",{"slug":168,"name":169},"windows","Windows",{"name":171,"items":172},"Other",[173,175,178,181,184,187,190,193,196,199,202,205,208,211],{"slug":49,"name":174},"Git",{"slug":176,"name":177},"docker","Docker",{"slug":179,"name":180},"jenkins","Jenkins",{"slug":182,"name":183},"jvm","JVM",{"slug":185,"name":186},"aws","AWS",{"slug":188,"name":189},"cloudflare","Cloudflare",{"slug":191,"name":192},"nginx","Nginx",{"slug":194,"name":195},"redis","Redis",{"slug":197,"name":198},"networking","Networking",{"slug":200,"name":201},"rabbitmq","RabbitMQ",{"slug":203,"name":204},"oidc","OIDC",{"slug":206,"name":207},"rest","REST",{"slug":209,"name":210},"terraform","Terraform",{"slug":212,"name":213},"cicd","CI\u002FCD",1783417755115]