Nie wiem jak podać Panu sensowną odpowiedź, ponieważ nie sprecyzował Pan o jakiego bota chodzi oraz o jaką maszynę a na pewno od tego będzie zależeć technologia, która będzie potrzebna do użycia. Jeżeli chodzi o bota windowsowego, na pewno potrzebne będzie skorzystanie z biblioteki windows.h oraz winapi, ponieważ musimy mieć możliwość integracji z systemem oraz innymi aplikacjami, jeżeli ma to być bot, który uruchomi jakieś inne aplikacje trzeba będzie użyć funkcji CreateProccess, jednakże na windowsie problemem może być komunikacja międzyprocesowa z aplikacjami okienkowymi. przy użyciu funkcji SendInput możemy wysyłać do systemu symulacje wciśnięcia przycisków klawiatury, użycia myszy ( przycisków, przesunięć itd), i wtedy automatyzować nasz input do innych aplikacji, ogólnie jest to dość rozbudowane narzędzie i ciężkie do użycia. Jeżeli chodzi o bota linuksowego tutaj mamy trochę większe pole do popisu, ponieważ tak naprawdę język c jest językiem unixa, i większość jak nie wszystkie programy możemy uruchomić przy użyciu jednego polecenia w terminalu, wtedy w naszym programie przy użyciu funkcji popen, możemy utworzyć nowy proces i otrzymywać od niego dane zwrotne przez łącze pipe, ewentualnie przy użyciu funkcji fork i exec lub system. Jest to dość złożone i nietrywialne zagadnienie w języku c/c++ i oprócz wiedzy programistycznej wymaga dość sporej wiedzy o systemach operacyjnych.