Это реализуется методом getChatMember(chat_id, user_id), где: chat_id - id канала (или группы, супергруппы); user_id - id пользователя. Если пользователь подписан на канал - метод возвращает объект ChatMember, содержащий все пользовательские данные. Соответственно, проверяй пользователя этим методом и если метод не вернул успешный ответ, значит пользователь не подписан на канал.