Для приветствия, часто служба регистрации канала обеспечивает это. ChanServ от Foonetic имеет опцию "ENTRYMSG":
<grawity> help set entrymsg
-ChanServ- ***** ChanServ Help *****
-ChanServ- Help for SET ENTRYMSG:
-ChanServ-
-ChanServ- SET ENTRYMSG allows you to change or set
-ChanServ- a message sent to all users joining the
-ChanServ- channel.
-ChanServ-
-ChanServ- Syntax: SET <#channel> ENTRYMSG [message]
-ChanServ-
-ChanServ- Example:
-ChanServ- /msg ChanServ SET #support ENTRYMSG Welcome to #support. Please do not paste more than 5 lines.
-ChanServ- ***** End of Help *****
Отставание сложнее. Большинство IRC-серверов не имеют какой-либо регистрации сообщений - как по соображениям конфиденциальности, так и по производительности - поэтому пользователь никогда не знает, какие сообщения были отправлены, прежде чем присоединиться к каналу. Некоторые пользователи используют IRC-вышибалы (например, ZNC или psyBNC), которые остаются на канале 24/7 и отправляют последние несколько сообщений, когда пользователь подключается к вышибалке. Веб-клиенты, такие как Mibbit, делают это с помощью общего журнала - до тех пор, пока хотя бы один Mibbit-пользователь находится в канале, все остальные пользователи могут получить отставание.
Кроме того, до недавнего времени у IRC не было никакого способа передачи исходных временных отметок, поэтому, если история была воспроизведена, все старые сообщения будут отображаться как отправленные одновременно, с добавлением уродливого «[12:34]» к тексту сообщения. В настоящее время есть дополнительное расширение для этого, но его поддерживают только вышибала ZNC и, возможно, 2-3 клиента. Но он все еще работает только тогда, когда воспроизведение выполняется самим сервером (или баунсером), а не ботом.
Таким образом, вы можете получить это, только a) написав бота, который предоставит резерв по запросу, или b) попросив пользователей использовать IRC-баунсер, который предоставляет эту функцию.