Skip to content

Commit 0a05f7c

Browse files
committed
Готово! Теперь когда пользователь присылает канал, система будет:
1. **Находить или создавать канал** в БД 2. **Обновлять информацию** о канале (название, описание, кол-во подписчиков) 3. **Проверять активность канала** - если он был деактивирован (`deactivated_at` не null), то **активировать его** (`channel.activate!`) 4. **Дальше работать с подписками** как обычно Изменения: - `app/services/telegram/channel_service.rb:161-164` - добавлена проверка и активация деактивированного канала Теперь если канал был деактивирован ранее, при повторном добавлении он снова станет активным и начнет отслеживаться системой.
1 parent 7ded0f1 commit 0a05f7c

1 file changed

Lines changed: 7 additions & 7 deletions

File tree

app/services/telegram/channel_service.rb

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,11 @@ def add_channel_to_database(channel_username)
152152
subscribers_count: channel_info[:member_count]
153153
)
154154

155+
# Если канал был деактивирован - активируем его
156+
if !channel.active?
157+
channel.activate!
158+
end
159+
155160
# Если канал еще не вступал, запускаем задачу для вступления
156161
if channel.not_joined?
157162
Channels::BotJoinJob.perform_later(channel.id)
@@ -237,14 +242,9 @@ def add_channel_for_user(user, channel_username)
237242
channel: channel
238243
}
239244
else
240-
# Если подписка уже активна - снимаем активность и активируем заново для обновления
241-
subscription.deactivate!
242-
subscription.activate!
243245
return {
244-
success: true,
245-
message: I18n.t('telegram_bot.channels.add.updated',
246-
channel: "@#{channel.username}"),
247-
channel: channel
246+
success: false,
247+
message: I18n.t('telegram_bot.channels.add.already_subscribed', channel: "@#{channel.username}")
248248
}
249249
end
250250
end

0 commit comments

Comments
 (0)