Что, так много наспамили, что нужно это сделать "оптом"?
Прикинусь умным Удаляйте запросом к БД. Я думаю, боты не настолько продвинутые, чтоб новые форумы и новые темы обсуждений создать? Тогда нужно почистить только таблицу _forum_posts.
Если учетки ботов удалялись через интерфейс Moodle, то в базе их записи остались, только флаг поставлен deleted=1. Вот и нужно найти все посты удаленных ботов в _forum_posts:
SELECT *
FROM mdl_forum_posts fp
LEFT JOIN
mdl_user u ON fp.userid=u.id
WHERE
u.deleted = 1 OR fp.userid NOT IN (SELECT u.id FROM mdl_user u)
Второе условие (после OR), на всякий случай,- ищет посты несуществующих пользователей, вдруг ботов напрямую в БД удаляли.
Проверяете, потом удаляете
Аналогично поищите записи в таблицах mdl_forum и mdl_forum_discussions, хотя это вряд ли, тогда у ботов права преподавателя должны быть.