Your bot is already able to read content in the channels it is present in (see the methods available to bot users here)
Your question is a bit imprecise as to what you want to achieve. With only the "bot" scope, the bot can read all messages posted in channels it has been invited to. If you want your app to be able to invite the bot in all channels, so as to monitor all content posted in public channels, you'll need to require the scope 'channel:write'. This will give you access to the method 'channel.join' and 'channel.invite'
Remember that if you follow this route, the channel scope will be attached to the user token, not the bot token. In other words, your app will make the user granting the authorization to invite the bot in the public channels.