Msnbot is just one of the user agents that Bing users, and it isn't even the main one. According to https://www.bing.com/webmaster/help/which-crawlers-does-bing-use-8c184ec0
- Bingbot - Main bing crawler
- Msnbot - Old crawler, still used some
- MSNBot-Media - Image and video crawler
- AdIdxBot - Ads crawler
- BingPreview - Preview crawler
To allow Bing to index your site you need to allow Bingbot at the very least:
You could keep the Msnbot section and also add the other Bing user agents.
Your user agent for Yahoo is not correct either. According to https://help.yahoo.com/kb/learn-submit-website-yahoo-robotstxt-directive-sln2213.html it is just Slurp rather than Yahoo-slurp.
While you have the main user agent for Googlebot correct, Google many user agents that it crawls with. You may want to allow crawling for some of their others as well. Their documentation is here: https://support.google.com/webmasters/answer/1061943?hl=en
Another problem is that you have two
User-agent: * sections. I would say that you should combine them, but the
Crawl-Delay directive won't be used by anything. You disallow all crawlers that would use that section. If you want to specify a crawl delay for Googlebot, Yahoo, or Bing, you need to add the crawl delay into their section. Once you create a specific section for a bot, it ignores the
* section completely. Note that Googlebot doesn't support crawl delays at all.
To do what you want I'd recommend at least the following robots.txt. You also might want to allow some ads crawlers from Google and Bing.