Look at the wiki page: Working Behind a Proxy.
You are trying to receive updates multiple times at the same time. Either you are calling GetUpdates from two instances of the bot, or you are calling GetUpdates while a web hook is already set. That is not supported by the API, only receive on one instance.
There is no way to do that with the API directly. You could store a list of known usernames, mapped to ids. This is not recommended, because usernames can be changed.
If you are using polling, you will have to subscribe to the
UpdateType of the
Update. If it is
UpdateType.ChannelPost then the
Update.ChannelPost property will be set.
If you're using ASP.NET Core 3.0+ you need to install additional Nuget package: Microsoft.AspNetCore.Mvc.NewtonsoftJson. For more information read this page about migrating from previous versions of ASP.NET Core.
You can keep track of users observing new messages in a chat and saving user info into a database.