[{"data":1,"prerenderedAt":205},["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,101,131,143,152,161],{"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],{"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":48,"name":100},"Deno",{"name":102,"items":103},"Backend",[104,107,110,113,116,119,122,125,128],{"slug":105,"name":106},"php","PHP",{"slug":108,"name":109},"laravel","Laravel",{"slug":111,"name":112},"symfony","Symfony",{"slug":114,"name":115},"laminas","Laminas",{"slug":117,"name":118},"mezzio","Mezzio",{"slug":120,"name":121},"zend","Zend Framework",{"slug":123,"name":124},"wordpress","WordPress",{"slug":126,"name":127},"shopware","Shopware",{"slug":129,"name":130},"spryker","Spryker",{"name":132,"items":133},"Mobile",[134,137,140],{"slug":135,"name":136},"dart","Dart",{"slug":138,"name":139},"flutter","Flutter",{"slug":141,"name":142},"android","Android",{"name":144,"items":145},"Other Languages",[146,149],{"slug":147,"name":148},"java","Java",{"slug":150,"name":151},"python","Python",{"name":153,"items":154},"Operating Systems",[155,158],{"slug":156,"name":157},"linux","Linux",{"slug":159,"name":160},"windows","Windows",{"name":162,"items":163},"Other",[164,166,169,172,175,178,181,184,187,190,193,196,199,202],{"slug":49,"name":165},"Git",{"slug":167,"name":168},"docker","Docker",{"slug":170,"name":171},"jenkins","Jenkins",{"slug":173,"name":174},"jvm","JVM",{"slug":176,"name":177},"aws","AWS",{"slug":179,"name":180},"cloudflare","Cloudflare",{"slug":182,"name":183},"nginx","Nginx",{"slug":185,"name":186},"redis","Redis",{"slug":188,"name":189},"networking","Networking",{"slug":191,"name":192},"rabbitmq","RabbitMQ",{"slug":194,"name":195},"oidc","OIDC",{"slug":197,"name":198},"rest","REST",{"slug":200,"name":201},"terraform","Terraform",{"slug":203,"name":204},"cicd","CI\u002FCD",1782416851469]