Communication is essential in multi-agent systems, since it allows agents to share knowledge and to coordinate. However, in open multi-agent systems, autonomous and heterogeneous agents can dynamically enter or leave the system. It is then important to take into account that some agents may behave badly, i.e. may not respect the rules that make the system function properly. In this article, we focus on communication rules and, especially, on the means necessary to detect when agents lie. Based on a model of the social semantics adapted to decentralised system, we first explicit the limits of the communicative behaviour of an agent, through the definition of obligations. Then, we propose a decentralised mechanism to detect situations where the obligations are violated. This mechanism is used to identify agents that exceed their rights and to build a representation of the honesty of the other agents by the way of a reputation value.