I've always felt this is something that could be accomplished by someone in the coding community.
For whatever reason (likely because L4D2 was a rushed product), Valve decided not to code the L4D survivor bots to be able to do scavenge events. As in pickup gascans and pour them into a generator as seen in the Passing, or the car in Dead Center, or any custom campaign in which a scavenge event is present.
Now I realize L4D2 is a dead game and that many of the coders have moved on or are in a holding pattern for L4D3. Both reasons are fine and reasonable not to bother with such a request.
My idea would be mostly in theory, because I honestly don't know if some aspects of it can be accomplished.
The idea I have would sort of be based on Silvers remarkable Gear Transfer Plugin seen here.
https://forums.alliedmods.net/showthread.php?t=137616
So a step by step breakdown of how I think it could work...
1. Track when bots are close to gascans
2. When in range, the bots will 'grab' (since they can't actually pick it up) or have the gascan attached to their back
3. The above is possible due to the Hard Rain Gas can attachment to the player models
4. The tricky part above would be finding a way to individually have gascans on the survivor bots backs as when the gascan attachment is active as is, all survivor models have the attachment
5. Perhaps if the above couldn't be individualized, a workaround could be made that attaches gascans on the survivor bots back on a case per case basis, when they come in range of a gascan
6. Obviously the survivor bots would only be able to carry one gascan, just like human players
7. When the survivor bots are near the car/generator/any scavenge goal, they instantly pour the gascan into the car/generator/scavenge goal
8. To compensate for this being a bit overpowered since the bots can instantly pour cans, not only can the survivor bots drop the gascan due to being pounced, etc but if the common infected hit the survivors, they can lose the can that way as well, same with the tank
Now there would be obvious bugs to work out and keep from being a problem, the obvious being...
1. Keeping track of the bots having the cans
2. Making sure to check if a can has been poured and if so, delete/detach gascan model/revert the survivor bot back to its normal model look
3. Keeping track of remaining/existing gas cans, that way the events don't break
So there it is, certainly a challenge but a huge quality of life plugin if someone were able to tackle this...
But again, im not stupid. I realize where the state of this game is...so this is only an idea, its not something I expect anyone to drop what they are doing to work on.