# Alle Nachrichten eines Benutzers in einer Kategorie löschen

**URL:** <https://meta.discourse.org/t/deleting-all-messages-from-a-user-in-a-category/204899>\
**Category:** Product Support\
**Created:** [30. September 2021 um 18:48 UTC](https://meta.discourse.org/t/deleting-all-messages-from-a-user-in-a-category/204899 "2021-09-30T18:48:34Z")\
**Posts on this page:** 1\
**Showing post:** 6

<div class="post-metadata">

**Author:** ![Arkshine](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/arkshine/32/298682_2.png) [@Arkshine](https://meta.discourse.org/u/Arkshine)\
**Post date:** [11. April 2025 um 23:53 UTC](https://meta.discourse.org/t/deleting-all-messages-from-a-user-in-a-category/204899/6 "2025-04-11T23:53:42Z")

</div>

Eine Lösung kann die Verwendung der Rais-Konsole sein.

```plaintext
cd /var/discourse
./launcher enter app
rails c

```

Dann können Sie dem folgenden Formular folgen, indem Sie den _Kategori-Slug_ und den _Benutzernamen_ ausfüllen.  
Sie kopieren den Code und fügen ihn in die Konsole ein.

Hinweis:

- Der erste Beitrag wird nicht gelöscht, um zu vermeiden, dass das Thema gelöscht wird.
- Wenn Sie eine Unterkategorie ansprechen, geben Sie die übergeordnete Kategorie an, z. B.: `parent_cat_slug/cat_slug`.

> ⚠ Bitte erstellen Sie vor allen Änderungen ein Backup.

```ruby
Category
  .find_by_slug_path_with_id("=CATEGORY_SLUG=")
  .tap do |c|
    u = User.find_by_username("=USERNAME=")
    Post
      .joins(:topic)
      .where(user_id: u.id)
      .where("topics.category_id = ?", c.id)
      .where.not(post_number: 1)
      .where(deleted_at: nil)
      .find_each { |p| PostDestroyer.new(Discourse.system_user, p).destroy }
  end

```

---

_[View the full topic](https://meta.discourse.org/t/deleting-all-messages-from-a-user-in-a-category/204899)._
